- GXtest
-
GXtest es una herramienta para la automatización de pruebas funcionales, específica para GeneXus, la cual utiliza el enfoque de Testing Basado en Modelos, complementado con Data Driven Testing más la facilidad de Record and Playback.
Si bien GeneXus genera aplicaciones en distintas arquitecturas (Web, Windows, RPG, etc.), GXtest sólo aplica para el entorno Web.
GXtest es el producto principal de la empresa uruguaya Abstracta. Actualmente existe una versión comercial del producto (versión 1.1) y se está trabajando sobre la versión 2.
Contenido
Modelo de Casos de Prueba
Para definir un caso de prueba se cuenta con un modelo definido, el cual es un grafo orientado compuesto de nodos que representan las páginas de la aplicación y aristas que representan las transiciones entre estas páginas. Luego, cada uno de estos elementos cuenta con una lista de comandos para especificar las acciones que el usuario realiza sobre la aplicación.
Así como GeneXus permite generar aplicaciones en distintos ambientes, GXtest permite probar estos sistemas, independizando la definición de las pruebas del ambiente en el que haya sido generado el sistema. Esto es porque, los artefactos de prueba de GXtest están vinculados a la [KB de GeneXus] (metadatos donde se define el sistema) y no al código generado (Java / .Net / Ruby).
GXtest implementa la capa de adaptación (según la definición de testing basado en modelos) entre el modelo abstracto de la definición de las pruebas (el cual está asociado al modelo de definición de la aplicación) y la aplicación concreta (generada en un entorno particular, el cual puede ser Java, .Net o Ruby, siempre en arquitectura full Web).
Pruebas basadas en datos
Los casos de prueba representados con grafos permiten expresar el flujo sobre la aplicación. Para definir una prueba también es necesario definir los datos de entrada y de salida esperados. Esto se pueden especificar en estructuras tabulares (llamados Datapools) y luego ser referenciados desde los comandos del modelo. De esta forma se puede separar la lógica del caso de prueba de los datos usados en el mismo, y así se pueden agregar más casos de prueba con datos sin más que agregar líneas al datapool.
Las pruebas de regresión son un subconjunto de las pruebas funcionales, por lo que al permitir la estrategia de data-driven se permite ejecutar nuevas pruebas, por lo que la herramienta no necesariamente es para pruebas de regresión únicamente.
Automatización de una Prueba
La especificación de la prueba se puede realizar en forma manual, armando un modelo gráfico (representado con un grafo) con sus comandos, o partiendo de la grabación de un flujo sobre la aplicación en un browser. Esto se puede realizar en principio sólo sobre Internet Explorer, con GXtest IEToolbar.
Enlaces externos
Fundamentos Teóricos
Wikimedia foundation. 2010.