Difference between revisions of "Tutorial de GXtest Generator"

From GXtest Wiki
Jump to: navigation, search
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{Idiomas
 +
| Tutorial de GXtest Generator
 +
| GXtest Generator Tutorial
 +
| GXtest Generator チュートリアル
 +
}}
 
[[category:Guías de GXtest]]
 
[[category:Guías de GXtest]]
  
== ¿Que es GXtest Generator? ==
+
Para empezar a automatizar con GXtest, es posible realizar la inicialización del proyecto y la KB de GXtest de manera automática.
 +
Utilizando la extensión GXtest Generator para GeneXus(Evolution 1 o mayor), tendrá disponibles algunas herramientas que serán de utilidad para trabajar con la KB y GXtest desde GeneXus.
  
GXtest Generator es una herramienta que nos ayuda a comenzar a automatizar pruebas con GXtest, a partir de la generación automática de casos de prueba. Para esto se utiliza la extensión GXtest Generator que se instala en GeneXus.
 
  
* ¿En que me ayuda este generador automático?
+
GXtest Generator le ayuda a comenzar a automatizar pruebas con GXtest, generando de forma automática casos de prueba e inicializando el entorno de trabajo para GXtest.
Una vez instalada la extensión en GeneXus, basta con hacer clic en un botón para generar un conjunto de casos de prueba que testeen aproximadamente el 80% de la aplicación.
+
  
* ¿Qué testean los casos de prueba automáticos?
+
Si aún no tiene la extensión instalada en GeneXus, puede revisar el paso 3 de la [[Guias de Instalacion]] de GXtest, o bajar la extensión desde [http://marketplace.genexus.com/product.aspx?gxtestextension GeneXus Marketplace].
Se genera un caso de prueba para cada entidad de la aplicación, el cual probará el Alta, Baja, Modificación, Visualización y Búsqueda de una instancia de dicha entidad. Por ejemplo, para la transacción Client, se dará de alta un cliente, se lo buscará en el "Trabajar Con" asociado, se lo modificará, y finalmente se lo dará de baja.
+
  
* ¿Para qué más me sirven estos casos de prueba?
 
Si bien sirven para probar el ABM (Alta, Baja y Modificación) de todas las entidades de la KB, la principal finalidad de dichos casos de prueba es utilizarlos como base para comenzar la automatización de pruebas sobre una aplicación.
 
Dependiendo del tipo de aplicación, los ABM de datos pueden significar un 80% de la totalidad de las funcionalidades de la aplicación. Por ello, generar estas pruebas de forma automática implica reducir los tiempos de automatización de gran forma, pudiendo utilizar ese tiempo en extender las pruebas generadas, o realizar nuevos casos de prueba, utilizando incluso los ya generados.
 
  
== Guía de Instalación ==
+
Para realizar este tutorial debe tener instalado GXtest Designer (Ver [[Guias de Instalacion]]).
 +
En los ejemplos se utiliza la KB [[http://open.genexusserver.com/xev1/home.aspx?AjaxSample AjaxSample]] de los samples de GeneXus.
  
Antes de comenzar se debe tener instalado y activado GXtest en algún PC, de modo de poder ejecutar las pruebas (Ver [[Installation guide]] de GXtest).
 
  
GXtest Generator se distribuye en un instalador, que instala como una extensión en GeneXus Ev1 o Ev2.
+
== Paso 1: Inicialización automática  ==
Durante la instalación:
+
* Se deberá indicar el path de la instalación de GeneXus donde se quiere instalar la extensión. Puede aplicarla en más de una instalación de GeneXus (si tuviera varias).
+
* Se deberá proporcionar una base de datos de GXtest, donde la extensión guardará los casos de prueba generados. La versión de GXtest instalada debe ser 1.2.0 +, y además debe coincidir con la versión de la extensión.
+
Las versiones soportadas para la base de datos son Microsoft SQLServer 2005 o mayor, pudiendo ser una Express Edition.
+
  
 +
Al abrir GeneXus, aparecerá un nuevo menú GXtest que tendrá el ítem Autogenerate TestCases. Dicha opción de menú abre la ventana de generación automática de GXtest Generator.
  
== Proceso de generación automática ==
+
[[Image:GXMenuGXtest.png|center]]
  
basicamente, hacer clic en el boton, y explicar que se genera un proyecto en GXtest, con los casos de prueba y los datos para probar
+
Allí se verá información de testing asociada a la KB que está abierta, y estará disponible el botón para iniciar el proceso: Generate tests.
  
== Utilizando GXtest Designer  ==
 
Abrir GXtest y ver los casos de prueba (explicar muy brevemente que es un proyecto, que son los datapools, y poner refs a la doc de GXtest)
 
- Ejecutar un TC generado
 
  
== Completar los casos de prueba generados ==  
+
En caso de ser necesario, antes de comenzar a generar los casos de prueba es posible configurar las opciones de generación que la extensión provee (Ver [[Generación automática: GXtest Generator#Opciones de Configuración]]), pero por ahora las opciones por defecto le servirán.
- Completar un TC agregando algunos comandos y validaciones.
+
 
- Generar un nuevo TC incluyendo algunos TC generados automáticamente.
+
 
 +
Haciendo clic en el botón, comenzará el proceso de generación automática, y se mostrará el avance del mismo en la pantalla.
 +
Una vez finalizado el proceso, dejará creado un proyecto en GXtest con su respectiva KB, e importará todos los casos de prueba generados automáticamente.
 +
 
 +
Los casos de prueba generados automáticamente cubren dos tipos de pruebas:
 +
* Para cada transacción, se genera un caso de prueba que probará crear la entidad, buscarla, visualizarla, actualizarla, y eliminarla.
 +
Por ejemplo, si tuviera una transacción Producto en la KB, se generaría un juego de casos de prueba de forma automática que siguiera el siguiente flujo:
 +
 
 +
 
 +
[[Image:EjemploTCauto.png|center]]
 +
 
 +
 
 +
* Para cada WebPanel que no sea autogenerado(*) se generará un caso de prueba básico que ingrese valores en todos los campos editables y presione los botones.
 +
 
 +
(*) Los webpanels autogenerados son los que genera GeneXus de forma automática. Un ejemplo de esto son los prompts y las pantallas de los patrones WorkWith.
 +
 
 +
Puede visitar [[Manual de Usuario de GXtest Generator]] para ver más información sobre la generación automática.
 +
 
 +
== Paso 2: Ejecución de las pruebas generadas  ==
 +
 
 +
Terminada la generación automática, se puede ver en GXtest Designer el proyecto y los casos de prueba generados.
 +
Luego de abrir GXtest Designer, abrir el proyecto en Project -> Open Project, y seleccionar el proyecto generado con el nombre de la KB y el sufijo "_Auto".
 +
Por ejemplo, para la KB AjaxSample, el nombre del proyecto generado de manera automáticamente será AjaxSample_Auto.
 +
 
 +
En el árbol de la derecha es posible ver los casos de prueba generados e importados.
 +
 
 +
[[Image: Tctree.PNG|center]]
 +
 
 +
 
 +
Todo esto se generó de manera automática a partir del clic realizado en GeneXus.
 +
 
 +
En la KB de ejemplo que se utilizó (AjaxSample), las entidades para las que se generaron las pruebas son City, Client, Country, Invoice y Product.
 +
Para cada una de estas entidades, se creó un caso de prueba principal (por ejemplo City), y otros casos de prueba secundarios que realizan las diferentes operaciones (Creación: City_Insert, Eliminación: City_Delete, etc), los cuales son utilizados por el primero.
 +
 
 +
Este es un ejemplo de como se vería un caso de prueba City (Crea, busca, visualiza, modificar, y elimina una Ciudad).
 +
 
 +
[[Image: TCMain.PNG|center]]
 +
 
 +
 
 +
Con el Test Case abierto, podemos ejecutarlo en el navegador, presionando el botón ejecutar (o Shift F5) que se encuentra en la barra de herramientas:
 +
 
 +
[[Image:ejecutar.JPG|center]]
 +
 
 +
Esto provocará que se abra el navegador, y se comiencen a ejecutar las acciones que contiene la definición de la prueba.
 +
 
 +
En la siguiente imagen se muestran en GXtest los resultados de la prueba:
 +
 
 +
 
 +
[[Image: resultadosVerCliente.JPG|center]]
 +
 
 +
 
 +
== Paso 3: Agregar o modificar los datos  ==  
 +
 
 +
 
 +
== Crear un nuevo caso de prueba ==
 +
 
 +
A partir de aquí se tiene el entorno de trabajo de GXtest inicializado, y es posible seguir agregando nuevos casos de prueba o reutilizando los ya creados.
 +
 
 +
Por ejemplo, puede ser interesante crear un caso de prueba mas complejo que genere un nuevo producto, luego un nuevo cliente, una factura para ese cliente y ese producto, y luego intentar borrar el cliente.
 +
 
 +
[[Image:TCComplejoAuto.png|center]]
 +
 
 +
 
 +
Si quisiera generar este caso de prueba complejo, puedo reutilizar los casos de prueba ya generados de forma automática para cada uno de esos pasos, e incluirlos en un único caso de prueba.
 +
 
 +
[[Image:TCComplejoAuto_GXtest.png|center]]
 +
 
 +
 
 +
Para esto, puede crear un nuevo caso de prueba en el menú "Test Cases" -> New. Luego ingresar el nombre del caso de prueba, por ejemplo "Factura".
 +
Para incluir los casos de prueba ya generados y utilizarlos dentro de "Factura", puede arrastrar de la barra de objetos un caso de prueba al nuevo caso de prueba en blanco.
 +
 
 +
[[Image:ToolboxGXtest.png|center]]
 +
 
 +
 
 +
Aparecerá una ventana para seleccionar el caso de prueba que se desea incluir. Escribir Client_Insert en el filtro y seleccionarlo cuando aparezca en la grilla. Realizar lo mismo con el resto de los casos de prueba (Product_Insert, etc).
 +
 
 +
Por último, es necesario conectarlos con aristas de forma de completar el flujo mostrado en el ejemplo.
 +
 
 +
Listo. El caso de prueba está listo para ser ejecutado.
 +
 
 +
 
 +
== Como seguir? ==
 +
 
 +
Es recomendable continuar el tutorial en [[Empezando con GXtest]] para completar el proyecto, y por ejemplo grabar un caso de prueba utilizando el navegador.

Latest revision as of 16:47, 15 May 2014

Spanish.gif
English.gif
Japan.gif

Para empezar a automatizar con GXtest, es posible realizar la inicialización del proyecto y la KB de GXtest de manera automática. Utilizando la extensión GXtest Generator para GeneXus(Evolution 1 o mayor), tendrá disponibles algunas herramientas que serán de utilidad para trabajar con la KB y GXtest desde GeneXus.


GXtest Generator le ayuda a comenzar a automatizar pruebas con GXtest, generando de forma automática casos de prueba e inicializando el entorno de trabajo para GXtest.

Si aún no tiene la extensión instalada en GeneXus, puede revisar el paso 3 de la Guias de Instalacion de GXtest, o bajar la extensión desde GeneXus Marketplace.


Para realizar este tutorial debe tener instalado GXtest Designer (Ver Guias de Instalacion). En los ejemplos se utiliza la KB [AjaxSample] de los samples de GeneXus.


Contents

Paso 1: Inicialización automática

Al abrir GeneXus, aparecerá un nuevo menú GXtest que tendrá el ítem Autogenerate TestCases. Dicha opción de menú abre la ventana de generación automática de GXtest Generator.

GXMenuGXtest.png

Allí se verá información de testing asociada a la KB que está abierta, y estará disponible el botón para iniciar el proceso: Generate tests.


En caso de ser necesario, antes de comenzar a generar los casos de prueba es posible configurar las opciones de generación que la extensión provee (Ver Generación automática: GXtest Generator#Opciones de Configuración), pero por ahora las opciones por defecto le servirán.


Haciendo clic en el botón, comenzará el proceso de generación automática, y se mostrará el avance del mismo en la pantalla. Una vez finalizado el proceso, dejará creado un proyecto en GXtest con su respectiva KB, e importará todos los casos de prueba generados automáticamente.

Los casos de prueba generados automáticamente cubren dos tipos de pruebas:

  • Para cada transacción, se genera un caso de prueba que probará crear la entidad, buscarla, visualizarla, actualizarla, y eliminarla.

Por ejemplo, si tuviera una transacción Producto en la KB, se generaría un juego de casos de prueba de forma automática que siguiera el siguiente flujo:


EjemploTCauto.png


  • Para cada WebPanel que no sea autogenerado(*) se generará un caso de prueba básico que ingrese valores en todos los campos editables y presione los botones.

(*) Los webpanels autogenerados son los que genera GeneXus de forma automática. Un ejemplo de esto son los prompts y las pantallas de los patrones WorkWith.

Puede visitar Manual de Usuario de GXtest Generator para ver más información sobre la generación automática.

Paso 2: Ejecución de las pruebas generadas

Terminada la generación automática, se puede ver en GXtest Designer el proyecto y los casos de prueba generados. Luego de abrir GXtest Designer, abrir el proyecto en Project -> Open Project, y seleccionar el proyecto generado con el nombre de la KB y el sufijo "_Auto". Por ejemplo, para la KB AjaxSample, el nombre del proyecto generado de manera automáticamente será AjaxSample_Auto.

En el árbol de la derecha es posible ver los casos de prueba generados e importados.

Tctree.PNG


Todo esto se generó de manera automática a partir del clic realizado en GeneXus.

En la KB de ejemplo que se utilizó (AjaxSample), las entidades para las que se generaron las pruebas son City, Client, Country, Invoice y Product. Para cada una de estas entidades, se creó un caso de prueba principal (por ejemplo City), y otros casos de prueba secundarios que realizan las diferentes operaciones (Creación: City_Insert, Eliminación: City_Delete, etc), los cuales son utilizados por el primero.

Este es un ejemplo de como se vería un caso de prueba City (Crea, busca, visualiza, modificar, y elimina una Ciudad).

TCMain.PNG


Con el Test Case abierto, podemos ejecutarlo en el navegador, presionando el botón ejecutar (o Shift F5) que se encuentra en la barra de herramientas:

Ejecutar.JPG

Esto provocará que se abra el navegador, y se comiencen a ejecutar las acciones que contiene la definición de la prueba.

En la siguiente imagen se muestran en GXtest los resultados de la prueba:


ResultadosVerCliente.JPG


Paso 3: Agregar o modificar los datos

Crear un nuevo caso de prueba

A partir de aquí se tiene el entorno de trabajo de GXtest inicializado, y es posible seguir agregando nuevos casos de prueba o reutilizando los ya creados.

Por ejemplo, puede ser interesante crear un caso de prueba mas complejo que genere un nuevo producto, luego un nuevo cliente, una factura para ese cliente y ese producto, y luego intentar borrar el cliente.

TCComplejoAuto.png


Si quisiera generar este caso de prueba complejo, puedo reutilizar los casos de prueba ya generados de forma automática para cada uno de esos pasos, e incluirlos en un único caso de prueba.

TCComplejoAuto GXtest.png


Para esto, puede crear un nuevo caso de prueba en el menú "Test Cases" -> New. Luego ingresar el nombre del caso de prueba, por ejemplo "Factura". Para incluir los casos de prueba ya generados y utilizarlos dentro de "Factura", puede arrastrar de la barra de objetos un caso de prueba al nuevo caso de prueba en blanco.

ToolboxGXtest.png


Aparecerá una ventana para seleccionar el caso de prueba que se desea incluir. Escribir Client_Insert en el filtro y seleccionarlo cuando aparezca en la grilla. Realizar lo mismo con el resto de los casos de prueba (Product_Insert, etc).

Por último, es necesario conectarlos con aristas de forma de completar el flujo mostrado en el ejemplo.

Listo. El caso de prueba está listo para ser ejecutado.


Como seguir?

Es recomendable continuar el tutorial en Empezando con GXtest para completar el proyecto, y por ejemplo grabar un caso de prueba utilizando el navegador.