Casos de Prueba

From GXtest Wiki
Revision as of 18:59, 8 October 2013 by Sebagra (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Spanish.gif
English.gif
link= {{{3}}}


Contents

Casos de Prueba

Dentro de cada proyecto tendremos los casos de prueba para nuestra aplicación a probar. Cada caso de prueba (Test Case) es la automatización de un flujo sobre la aplicación, el cual resulta interesante automatizar para las pruebas de regresión. Véase también los consejos de cuándo automatizar.

Objetos de un caso de Prueba

Page

Una Página hace referencia a una página de la aplicación y puede tener una lista de acciones y una lista de validaciones.

Cada Page puede tener asociado un objeto GeneXus. En el caso de los casos de prueba generados con la Recorder estos siempre tendrán el objeto GeneXus asociado, pero si se hace manualmente no siempre es necesario indicarlo. El único caso en que es indispensable indicarlo es cuando a la hora de ejecutar un comando hay más de un frame en la misma ventana, o cuando hay más de una ventana (por ejemplo, popups). En ese caso hay que indicar el Objeto sobre el cual está el control al que se le quiere aplicar el comando. Además, al momento de ejecutar se hace una validación de que la página visitada se corresponda con el objeto definido en la página (con el comando CheckMainObject).

Edge Line

Cada arista (Edge Line) representa la transición de una página a otra. Cada una tiene exactamente un evento. Puede tener además una lista de acciones y una lista de validaciones.

Una particularidad de las aristas es que tienen un orden. En cada una de las aristas se puede observar una letra, la cual indicará el orden para el caso en que haya más de una arista de salida en un nodo. De esta manera si tenemos por ejemplo el siguiente caso:

PageWithMultipleEdges.jpg

La primera vez que se llegue a la página Home se seguirá la arista ClickLinkTable, pero la segunda vez que se retorne a esta página se seguirá la arista ClickButton.

Test Case (Anidación)

El objeto de tipo Test Case permite incluir en un caso de prueba otro caso de prueba. De esta manera se permite reutilizar modelos de casos de prueba. Para ver un ejemplo de anidación de casos de prueba se puede consultar el siguiente artículo. Al incluir un TestCase dentro de otro Test Case se puede indicar a GXtest cuántas veces se va a ejecutar dicho caso de prueba. Este valor puede ser un número fijo o también puede ser extraído desde un DataPool. Al ser extraído desde un Datapool se puede lograr por ejemplo variar la cantidad de ítems de una factura dependiendo de un DataPool.

Es importante resaltar que si falla la ejecución de una de las iteraciones de un test case incluído y esto hace que corte esa ejecución, también hará que se corte la ejecución del test case que lo incluye.

Decision

Un objeto de tipo Decision permite seguir dos flujos distintos dentro de la aplicación de acuerdo a una condición dada. Por ejemplo si nuestro caso de prueba requiere que si el cliente pertenece a Uruguay, entonces se le mande una notificación, pero si pertenece a otro país no se le envíe nada, entonces podemos utilizar las decisiones para seguir uno u otro flujo distinguiendo por el país del cliente.
Para ver un ejemplo sobre Decision consultar Crear un Caso de Prueba con Bifurcación

Crear un Caso de Prueba

Un caso de prueba se puede crear de varias formas. Puede hacerse de forma manual, o grabando con GXtest Recorder. A su vez, con GXtest Recorder se puede grabar de forma On-line y Off-line.

Crear un Caso de Prueba Manualmente

Para crear un caso de prueba manualmente, se debe seleccionar en el menú contextual sobre Test Cases en el panel de Proyecto la opción Create New Test Case.

Record test case.jpg

Esto hace que se cree un nuevo Caso de Prueba el cual queda abierto en el panel de Modelos. Justamente en esta nueva hoja es que vamos a modelar el caso de prueba. Para esto dibujaremos el flujo a automatizar representando con nodos las páginas a visitar, y con aristas el recorrido entre las páginas.

Luego de tener el flujo listo, hay que definir los comandos que se quieren ejecutar en cada arista y en cada nodo.

Véase también la lista de comandos disponibles.

El Drag and Drop de Comandos nos facilita la construcción de los casos de prueba en el Editor de Modelos, es la posibilidad de arrastrar los comandos creados entre los distintos componentes (aristas y nodos). Esto nos permite mover o copiar (si se usa la tecla Control).

Crear un Caso de Prueba con la GXtest Recorder

La distinción entre On-Line y Off-Line es simplemente porque en el primero se utiliza GXtest Recorder en conjunto con GXtest Designer, de manera que cuando se termina de grabar el caso de prueba ya queda inmediatamente plasmado en GXtest Designer. Sin embargo de la manera Off-Line, GXtest Recorder funciona independiente de GXtest Designer y genera un archivo que luego debe importarse en GXtest Designer.

Mecanismo On-line

Para grabar un caso de prueba de manera On-Line se debe seleccionar el menú contextual de Test Cases y seleccionar Record New Test Case

En ese momento se abrirá una ventana que nos permite ingresar el nombre del caso de prueba a grabar y la url donde queremos comenzar a grabar. Luego se debe presionar el botón de Record y se abrirá un navegador para comenzar a realizar las acciones necesarias sobre el navegador. Una vez que se termine de recorrer el flujo que se desea automatizar se debe simplemente cerrar el navegador.

Mecanismo Off-line

Como se explicó anteriormente el mecanismo Off-Line permite crear un caso de prueba sin necesidad de tener GXtest Designer instalado. El resultado es un archivo ZIP o XML (desde v1.1.4), el cual es importado desde GXtest Designer.

Luego de que se genera el archivo ZIP/XML, hay que crear un nuevo Caso de Prueba, seleccionando en el menú contextual de Test Cases (sobre el panel de Proyecto), y seleccionar Import.

Sólo resta seleccionar el archivo ZIP/XML antes generado.

La ventaja de esta modalidad es que no es necesario tener GXtest Designer instalado para automatizar, sólo hace falta instalar la extensión al Internet Explorer. Esto incluso facilita el caso en que un usuario cualquiera desee grabar un flujo sobre la aplicación, ya sea porque necesita soporte, o porque está definiendo pruebas de aceptación, etc.

Por más detalles ver Manual de Usuario de GXtest Recorder.

Validación de un caso de prueba

Previo a cualquier tipo de ejecución de un caso de prueba se realiza una validación del mismo. Si el caso de prueba no se encuentra en condiciones para ejecutar no se ejecuta. Algunas de las causas posibles para no poder ejecutar el caso de prueba son que no haya eventos en alguna arista o que no se encuentre conexo. Para validar un caso de prueba presionar Shift+F6 o presionar el siguiente botón en GXtest:

BotonValidarTC.jpg

Ejecución de un caso de prueba

En GXtest Designer existen varias formas de ejecutar un caso de prueba, las mismas se describen a continuación.

Ejecución simple de un caso de prueba

La ejecución simple de un caso de prueba consiste en ejecutar un caso de prueba una sola vez. Para esto se debe presionar Shift+F5 o el botón que se muestra en la siguiente imagen:

Ejecutar.JPG

De esa forma el caso de prueba abierto se ejecuta una sola vez.

Ejecución repetida de un caso de prueba

Permite ejecutar un caso de prueba tantas veces como se indique. Esto permite por ejemplo probar el uso de los DataPools. Para ejecutar el caso de prueba de manera repetida presionar Shift+F7 o presionar el botón que se muestra a continuación:

BotonEjecutarN.jpg


Nota: Al ejecutar N veces, al finalizar cada ejecución GXtest cerrará todas las ventanas que estén abiertas del navegador seleccionado para la ejecución.

Ejecutar en un navegador Abierto

Permite ejecutar un caso de prueba en un navegador que ya se encuentre abierto. Para hacer que un caso de prueba se ejecute en un navegador abierto presionar Ctrl+F5 o presionar el siguiente botón:

BotonPlayInIE.jpg

Nota: en caso de estar utilizando el navegador FireFox (GXtest 1.1 en adelante) solo se podrá utilizar esta funcionalidad con instancias del navegador abiertas por GXtest o configuradas para que inicien con la opción -jssh.

Ejecución en FireFox (a partir de la versión 1.1)

Para poder ejecutar pruebas en Firefox debe instalar la extensiónque se encuentra en el directorio de instalación de GXtest Designer\Firefox.

Por ejemplo: "C:\Program Files (x86)\Abstracta\GXtest Designer\Firefox\mozrepl-jssh.xpi" Si no sabe cómo instalar una extensión en FireFox puede recurrir a : http://www.wikihow.com/Install-Firefox-Extensions

Para versiones de FireFox inferior a 4: 2, 3, 3.5 y 3.6, se debe bajar el plug-in jssh e instalarlo (arrastrar el archivo descargado sobre el FireFox). El plug-in se puede descargar de los siguientes links:

Luego para indicarle a GXtest Desginer que ejecute en FireFox, cambiar en las propiedades del proyecto el tipo de navegador a FireFox.

Nota: Se recomienda deshabilitar las actualizaciones automáticas de FireFox y sus complementos para evitar fallas en los casos de prueba debido a dicho motivo. También se recomienda deshabilitar el diálogo que pregunta si quiere configurar el FireFox como navegador por defecto.


Importante: Por defecto al ejecutar en cualquiera de los browsers GXtest intentará cerrar automáticamente los carteles emergentes que puedan aparecer tales como "Desea activar el autocompletar", o similares.

Consejos para trabajar con los casos de prueba

A continuación se listan algunos consejos para la edición de los casos de prueba

  • Copiar y pegar comandos con Drag&Drop: en GXtest es posible pasar comandos de un elemento a otro simplemente arrastrando los mismos desde el elemento origen al elemento destino. También se pueden copiar dichos comandos si mientras se realiza se mantiene apretada la tecla Ctrl.
  • Cambiar el orden de los comandos asociados a un elemento: simplemente se debe hacer clic arriba del elemento en el panel comandos y arrastrarlo con el mouse hasta el lugar deseado.

Export/Import de un Test Case

En este artículo se muestran las particularidades de importar y exportar un Test Case. Por otro lado si se quiere conocer con mayor detalle los xml generados al exportar un Test Case se pude consultar en este artículo.

Enviar y Recibir Casos de prueba entre diferentes Bases

Como se menciona en la sección Login / Conexiones, en GXtest es posible configurar varias conexiones. Esto permite:

  • intercambiar de manera sencilla casos de prueba entre las diferentes bases
  • intercambiar casos entre las estaciones de trabajo y la base de GXtest Manager
Es importante tener en cuenta que los nombres de los proyectos en los cuales se encuentran los casos de prueba a transferir deben ser iguales.

Internamente lo que se realiza es una exportación e importación de los casos de prueba en las bases correspondientes.

Para enviar un caso de prueba se deben realizar los siguientes pasos:

  1. Entrar en GXtest utilizando la conexión a la Base de Datos origen
  2. Abrir el proyecto deseado
  3. Ir a Test Cases-> Send & Receive-> Send To..
  4. Seleccionar el caso de prueba que se desea enviar
  5. Seleccionar la Base de Datos a la cual se desea enviar
  6. Se mostrarán las opciones para la exportación (si se incluye datapools, casos de prueba de manera recursiva, etc.) Luego se debe presionar OK.
  7. Se mostrarán los resultados de la exportación. Cerrar la ventana de resultados
  8. Se mostrarán los resultados de la importación

Para recibir un caso de prueba realizar los siguientes pasos:

  1. Entrar en GXtest utilizando la conexión a la Base de Datos origen
  2. Abrir el proyecto deseado
  3. Ir a Test Cases-> Send & Receive-> Recieve From ..
  4. Seleccionar la Base de Datos desde la cual se va a recibir
  5. Luego seleccionar el caso de prueba que se va a recibir y las opciones con las cuales se desea traer
  6. El sistema mostrará una lista de resultados de la exportación realizada en la base de datos destino y luego el resultado de la importación realizada en la base de datos local



Volver al Manual de Usuario de GXtest Designer 2.0