Tutorial de GXtest Generator

From GXtest Wiki
Revision as of 20:16, 13 February 2013 by Abstracta (Talk | contribs)

Jump to: navigation, search


Contents

¿Que es GXtest Generator?

GXtest Generator es una herramienta que nos ayuda a comenzar a automatizar pruebas con GXtest, generando de forma automática casos de prueba. Para esto se instala como extensión en GeneXus Ev1 o Ev2.

  • ¿En que me ayuda este generador automático?

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?

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

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. 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.

GXtest Generator en GeneXus

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. Allí se verá información de testing asociada a la KB que está abierta (si es que ya generamos un proyecto en GXtest), 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 Manual de Usuario de GXtest Generator), pero por ahora las opciones por defecto nos servirán.

Proceso de generación automática

Para iniciar el proceso de generación basta con hacer clic en el botón Generate tests. Una vez finalizado el proceso, dejará creado un proyecto en GXtest, e importará todos los casos de prueba generados. Todo proyecto en GXtest tienen asociado una o varias KBs GeneXus, por lo que también se importará la KB abierta en GeneXus de manera automática.

Utilizando GXtest Designer

Terminada la generación automática, podemos ver en GXtest Designer el proyecto y los casos de prueba generados. Luego de abrir GXtest Designer, abrimos el proyecto en Project -> Open Project, y seleccionamos el proyecto generado con el nombre de la KB y el sufijo "_Auto".

En el árbol de la derecha podemos ver los casos de prueba importados.

Tctree.PNG

En la KB de ejemplo que utilizamos, 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 (Alta: City_Insert, Baja: City_Delete, etc), los cuales están incluídos en el primero.

Este es un ejemplo de como se vería un caso de prueba principal (por ejemplo City).

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 reproducir las acciones que realizamos nosotros previamente. Tengan en cuenta que si no está dada de alta en la aplicación el cliente Abstracta, la ejecución fallará.

En la siguiente imagen vemos como nos muestra GXtest los resultados:

ResultadosVerCliente.JPG


Completar los casos de prueba generados

Usualmente es necesario variar los datos que utiliza el caso de prueba. Para esto en GXtest se utilizan los DataPools, los cuales también se generan de forma automática.

- Completar un TC agregando algunos comandos y validaciones. - Generar un nuevo TC incluyendo algunos TC generados automáticamente.