Reutilización de los scripts de Rational Functional Tester en aplicaciones actualizadas para evitar errores

Creación de una superclase auxiliar del usuario para generar scripts flexibles

Las principales preocupaciones al momento de usar una herramienta de prueba automatizada son el mantenimiento continuo y la reutilización. A medida que los desarrolladores mejoran y actualizan continuamente las aplicaciones que están a prueba, usted necesita probar con scripts guardados las actualizaciones sin perder varias horas en la modificación del script. Esta capacidad constituye un factor cada vez más significativo en la automatización de proyectos de prueba. Este artículo le muestra cómo usar IBM® Rational® Functional Tester y una superclase auxiliar de usuario para cambiar el valor de la propiedad del objeto en un solo lugar cuando su aplicación a probar se modificó. Aunque se realiza el cambio en un solo lugar, usted puede aplicar dicho cambio a las especificaciones del valor de la propiedad del objeto en todo el script de prueba (lo que le permite ahorrar tiempo y le evita frustraciones).

Grace Chen, Test Consultant, TestPro Pty Ltd

Grace Chen es Consultora de Pruebas para TestPro, Ltd. Ingresó a TestPro en 2008, y en la actualidad se encuentra trabajando en proyectos de seguros médicos. Tiene experiencia en áreas como Rational Functional Tester, Rational Quality Manager y el marco de automatización de pruebas.



20-05-2010

Los scripts deben mantenerse a la par con las aplicaciones que se están desarrollando

Durante la prueba de regresión, los equipos de prueba suelen generar un conjunto de scripts, incluso mientras los desarrolladores actualizan y modifican la aplicación. Además, los desarrolladores pueden cambiar algunas propiedades o jerarquías de los objetos. Cuando los testers reproducen los scripts guardados en la aplicación actualizada, esta reproducción puede generar un error que indica que no se puede encontrar un objeto.

Los scripts encuentran cambios que no son errores

Usted puede encontrarse frente al siguiente escenario: Cuando los desarrolladores actualizan o modifican una aplicación, los desarrolladores también modifican el título de la ventana para que se corresponda con la versión de la aplicación. En el mapa de su script guardado, usted capturó objetos en diferentes mapas de objeto para diferentes pantallas de la aplicación. Cada mapa de objeto usa la misma ventana como el objeto principal para cada uno de los objetos en la jerarquía del mapa de objetos. El título de la ventana es la propiedad crítica que se usa para identificar el objeto. Cuando se reproducen los scripts guardados en la nueva versión de la aplicación con títulos de ventana modificados, usted obtiene frecuentes mensajes de error: ObjectNotFound. IBM® Rational® Functional Tester considera a los títulos modificados como errores, ya que los títulos no se corresponden con los que figuran en el script.

Los algoritmos de reconocimiento de objeto de Rational Functional Tester no sólo se basan en el objeto en sí mismo. Los algoritmos también verifican las propiedades de los objetos que se encuentran en los estratos más altos de la jerarquía del objeto y controlan la cadena de objetos principales que se dirigen hacia el objeto superior.

La reconfiguración de cientos de valores de las propiedades nos hace perder tiempo

Para hacer que Rational Functional Tester deje de considerar a estos cambios de propiedades como errores, usted debe reducir el valor de la propiedad crítica a 0. Después de todo, el título modificado de una ventana no es un error. Al realizar esta modificación, Rational Functional Tester no usa esta propiedad para identificar el objeto. Rational Functional Tester no le ofrece ninguna función de configuración global para reducir el valor de la propiedad del título de la ventana. Por lo tanto, usted debe modificar el valor de la propiedad del título de manera manual en cada mapa de objeto que incluye a dicho objeto. Imagínese lo que ocurrirá si usted tiene cientos de mapas de objeto que debe modificar. Considere el tiempo que perdería en cada iteración.

Configuración de scripts para encontrar errores, cambios de código no apropiados

Usted necesita una forma programática para configurar en un solo lugar el valor de la propiedad del objeto de los objetos comunes que incluyen las pruebas. En vez de modificar el valor de la propiedad manualmente en cada mapa de objeto o de recapturar el objeto, usted puede modificar el valor de la propiedad del objeto durante el tiempo de ejecución. Usted agrega un método a su superclase auxiliar y, luego de esto, llama este método desde cada script que necesita modificar el valor de la propiedad del objeto. Luego de agregar este método, los testers pueden ejecutar scripts viejos en las aplicaciones actualizadas (realizando unos pocos cambios a los scripts). Además, los cambios a los títulos de las ventanas, por ejemplo, no provocan errores.

La superclase auxiliar le ofrece verdadera ayuda

Para crear una superclase auxiliar que modifique el valor de la propiedad de un objeto, haga lo siguiente:

  1. En Rational Functional Tester, haga clic con el botón derecho del mouse en el nombre del proyecto y seleccione Add Test Folder (Agregar carpeta de prueba).
Figura 1. Creación de una carpeta de superclase
Creación de una carpeta de superclase
  1. Creación de un archivo de superclase auxiliar: Haga clic en File (Archivo)>New (Nuevo)>Helper (Auxiliar)Superclass (Superclase).
Figura 2. Creación de una carpeta de superclase auxiliar
Creación de una carpeta de superclase auxiliar
  1. En Folder (Carpeta), ingrese la ruta hacia la carpeta.
  2. Seleccione un nombre de proyecto en la lista Project (Proyecto).
  3. Ingrese un nombre de clase en Script name (Nombre del script).
Figura 3. Especificación de una carpeta, un proyecto y un nombre de superclase auxiliar
Especificación de una carpeta, un proyecto y un nombre de superclase auxiliar
  1. Haga clic en Finish (Finalizar). Rational Functional Tester crea un script en Java™ Editor. Usted puede usar este script para ingresar código Java manualmente.
  2. Ingrese el método que estará disponible para el script. Use el siguiente listado de código para crear su método. Haga todas las modificaciones que sean necesarias según su proyecto.
Listado 1. Código de la superclase auxiliar
package superclasses; import java.io.File; 
import java.util.Enumeration;
import com.rational.test.ft.object.map.IMappedTestObject;
import com.rational.test.ft.object.map.ObjectMap; 
import com.rational.test.ft.script.RationalTestScript; 
public abstract class
ScriptSuperClass extends RationalTestScript
 { public void changeweight(){ // Get
relative object map path for a script. String
map=this.getScriptName().toString().replace(".", "//");
 String mapName =
"resources//"+map+".rftxmap"; // 
Path to the project String projectDir =
"C:\\youtprojectLocation"; 
// Opening the object map file File f = new
 File(projectDir, mapName); ObjectMap om = ObjectMap.load(f);
 Enumeration e = om.elements();
 while (e.hasMoreElements()){ //
Locate the object by its role plays in the
 UI. IMappedTestObject obj = (IMappedTestObject)
 e.nextElement(); String role
= obj.getRole().toString(); 
if(role.equals("Document"))
{ Object titleValue =
obj.getProperty(".title");
 //to reduce the weight of title.
obj.setProperty(".title", titleValue, 0); } 
// Save the object map ObjectMap.store(om, f); } } }

Luego de crear su propia superclase auxiliar, úsela en su script.

Ponga la superclase auxiliar en funcionamiento

  1. En Rational Functional Tester, haga clic con el botón derecho del mouse en el script, que va a usar el método de la superclase que usted acaba de crear.
  2. Seleccione Properties (Propiedades).
Figura 4. Propiedades del script
Propiedades del script
  1. Resalte Functional Test Script (Script de prueba funcional)en el recuadro derecho y haga clic en Browse (Navegar) al lado del campo Helper Superclass (Superclase auxiliar). Se abrirá una ventana de especificación.
  2. Ingrese el primer carácter del nombre de la superclase auxiliar del usuario en Select default helper superclass for the script (Seleccionar superclase auxiliar predeterminada para el script). Rational Functional Tester le mostrará el elemento correspondiente.
  3. Seleccione el elemento correspondiente y haga clic en OK.
Figura 5. Selección de la superclase para el script
Selección de la superclase para el script
  1. Llame al método de la superclase auxiliar en su script.
Figura 6. Llamada al método de la superclase
Llamada al método de la superclase

Prueba de todos los cambios que realmente importan

El tiempo de su equipo de prueba es muy valioso. En las pruebas de regresión, usted se debe concentrar en los cambios más importantes que se hicieron en la aplicación y no en los títulos de las ventanas que se modificaron o en otros cambios de menor importancia. Una vez configurado en 0 el valor de la propiedad para el título de la ventana, los cambios en dicho aspecto en la aplicación que se está probando no generan errores, lo que le deja más tiempo para concentrarse en la prueba de las modificaciones importantes que se realizaron en la aplicación.

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Rational
ArticleID=491371
ArticleTitle=Reutilización de los scripts de Rational Functional Tester en aplicaciones actualizadas para evitar errores
publish-date=05202010