Datapools

From GXtest Wiki
Revision as of 20:02, 21 April 2016 by Abstracta (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Spanish.gif
English.gif
Japan.gif
<- Anterior | Indice | Siguiente ->

Contents

7. Data Pools

Un DataPool es un conjunto de datos que pueden ser utilizados en un caso de prueba. Por ejemplo si deseamos hacer un caso de prueba que ingresa al sistema 100 clientes nuevos podemos crear el datapool Clientes que contenga las columnas Nombre, CI y Tel. De esta manera luego creamos un caso de prueba cuyos comandos utilicen el datapool definido para ingresar los valores en la aplicación y cada vez que se ejecute el caso de prueba se utilizará un dato distinto del datapool. Para ver cómo crear un DataPool y un caso de prueba que lo utilice se puede consultar la página Crear un Caso de Prueba con DataPools.

Los DataPools son los responsables de poder utilizar en GXtest el testing dirigido por datos. Esto se debe a que pueden ser utilizados no sólo para datos de entrada que toma la aplicación, sino también para validar el resultado esperado de la aplicación así como para seleccionar las distintas acciones a realizar de acuerdo a los mismos.

Comandos asociados a los DataPools

Si bien la mayoría de los comandos pueden recibir parámetros de un DataPool, existen algunos comandos específicos de DataPools, los cuales son los siguientes:

  • DPNext: Avanza a la próxima fila del DataPool. Siempre debe hacerse un DPNext antes de comenzar a utilizar el DataPool.
  • DPReset: Hace que se comience nuevamente desde el principio del datapool.
  • DataPoolCompare: Es un comando de tipo validación que sirve para comparar un valor del datapool con otro valor.

"Scope" de los datos

Un concepto importante dentro de los datapool es el "Scope" o jerarquía de los datos que tiene almacenado un datapool. Este scope puede ser de dos tipos Global o por caso de prueba. Por ejemplo se podría tener el siguiente DataPool:

DP.jpg

Si utilizo un datapool en un caso de prueba que no tiene definidos datos específicos para ese caso de prueba, entonces estaré utilizando los datos globales (pepe en el ejemplo). Sin embargo si a ese datapool le defino datos específicos para el caso de prueba entonces utilizará esos datos específicos.

Teniendo en cuenta el DataPool anterior, imaginemos que en nuestros casos de prueba queremos utilizar distintos nombres de usuarios y contraseñas para ingresar al sistema. Entonces creamos el datapool Usuarios tal como se ve en la tabla anterior. Ahora bien supongamos que la mayoría de los casos de prueba utilizan el usuario pepe y la contraseña pepe pero hay solamente un caso (llamemosle CasoA) de prueba que utiliza el usuario juan y la contraseña juan. Lo que se hace para resolver este caso es ingresar el usuario pepe y contraseña pepe como datos globales y el usuario juan como específico del CasoA.

Si utilizamos este datapool en caso de prueba CasoB, al pedirle un valor nos devolverá (pepe,pepe) que son los valores globales, pero si lo utilizamos en el CasoA, entonces nos devolverá (juan,juan).

Importante: si un DataPool tiene N datos para un caso de prueba y yo realizo N+1 iteraciones, entonces el datapool comenzará con el primer dato nuevamente.

Utilizar datos relacionados (SETID)

Típicamente cuando se piensa o diseña un caso de prueba, se hace por un lado el caso de prueba conceptual y por otro los datos a utilizar para ese caso de prueba. Muchas veces los distintos conjuntos de datos a utilizar están relacionados, por ejemplo porque para un País dado queremos ingresarle las ciudades correspondientes.

Por ejemplo, si se quiere probar el alta país, luego que se tiene definido el caso de prueba conceptual, se puede decidir ejecutar la aplicación con los siguientes conjuntos de datos:

  • Conjunto 1: País: Uruguay, Ciudades: Salto, Paysandú,Montevideo y Atlántida
  • Conjunto 2: País: Argentina, Ciudades: Rosario, Bariloche, Buenos Aires y Victoria

En este tipo de casos puede ser interesante indicar en GXtest que tenemos un conjunto de datos en distintos datapools relacionados y no utilizar un único DataPool.

Esto se puede hacer con lo que se denomina SETID, identificador de conjunto. En este post se puede ver un ejemplo ilustrativo del uso de este tipo de datapools.

Para realizar ésto simplemente se debe crear un DataPool Paises, un DataPool Ciudades y agregarle a los mismos además de las columnas que interesen para las pruebas una columna llamada SETID.

De esta manera cuando se quiera agregar un conjunto de datos relacionados, se agregará un identificador de ese conjunto en cada fila de datos en los DataPools Paises y Ciudades en la columna SETID. Se debe respetar el siguiente formato:

Datapool master: Paises - SETID son identificadores. Ej: 1, 2, 3.
Datapool relacionado: Ciudades - SETID debe tener un indentificador del master, seguido de un "." (caracter punto) seguido de otro identificador. Ej: 1.1, 1.2, 1.3, 1.4, 2.1, 2.2, 2.3, 3.1

De esa manera se obtendrán los siguientes DataPools con los siguientes datos:

Paises Ciudades
SETID NombrePais SETID NombreCiudad
1 Uruguay 1.1 Montevideo
2 Argentina 1.2 Salto
3 Brasil 1.3 Paysandú
1.4 Canelones
2.1 Buenos Aires
2.2 Rosario
2.3 Bariloche
3.1 Sao Paulo


Luego si se utiliza el comando DPNext sobre el DataPool "master" (o sea, Países), provocará que se filtre en los demás datapools por el identificador de conjunto (SETID) al cual se avanzó.



<- Anterior | Siguiente ->


Volver al Manual de Usuario de GXtest Designer 2.0