Logo-Spanish

GR

 

 

 

QA AUTOMATION ENGINEER

 

Herramientas de parametrización o aleatorización

Como recordaremos, en mi artículo anterior les comenté acerca de la parametrización o aleatorización de nuestras pruebas; porque es necesaria y como introducirla en nuestros tests. En esta ocasión hablaré de una herramienta que encontré en la web, herramienta que nos pueden ayudar a tener una mejor parametrización de nuestros tests y nos quitarán de encima mucho trabajo tedioso.

Digamos que necesitamos hacer algunas pruebas de validación en un grupo de campos en un formulario que despues desplegará estos valores en una página, estos campos podrían ser:

  • Nombre
  • Apellido
  • Telefono
  • Dirección
  • Ciudad
  • País

Necesitamos validar algunas cosas diferentes, como:

  • Una vez guardados los datos se deben ver correctamente y asegurarnos que no se enciman con algunas otras cosas en el sitio donde se visualizarán. 
  • Caracteres mínimos permitidos
  • Caracteres máximos permitidos
  • Caracteres raros o acentuados como (á ç ñ) permitidos y desplegados correctamente
  • Validación de no caracteres numéricos en campos como Nombre y Apellido
  • Validación de sólo caracteres numéricos en campos telefónicos

Y la lista puede seguir y seguir y podríamos terminar escribiendo (y pensando en) 100 o 1000 nombres, apellidos, telefons, etc., diferentes. ¿No sería mejor tener una herramienta que hiciera todo ese trabajo por nosotros?

Como dice la nueva frase "ya hay una app para eso". Una de ellas es Generate Data y lo que hace básicamente es generar datos aleatorios para nosotros. A continuación detallaré como lo hace:

Generate Data

 GenerateDataHome

Esta es la ventana principal de Generate Data. Este servicio esta disponible para su uso gratis en su sitio. Sin embargo, puedes descargar el proyecto e instalarlo en tu servidor local, la instalación es fácil y solo requiere un servidor básico (Apache, MySQL, PHP, creo que Smarty también). Instalarlo lleva ventajas como poder crear cuentas y guardar sets de datos para posterior uso, mayor numero de datos generados y otras más

  1. Login y Lenguaje: Obviamente brinda la capacidad de iniciar sesión y cambiar el idioma.
  2. Set de datos guardado y administración: Desde aquí puedes nombrar, guardar y después llamar, borrar y compartir tus sets de datos (Funciones solo cuando se inicia sesión)
  3. Selección de datos específicos por país: Desde aquí puedes seleccionar el formato de los datos que quieres generar, que pueden ser especificos a un país. Por ejemplo, si seleccionas datos de Canadá el formato de Código Postal es K1A 0B1, sin embargo, si seleccionamos Estados Unidos, el formato es algo como 18938. Al seleccionar todos, estaríamos generando potencialmente records con ambos formatos y si nuestro campo solo acepta uno de ellos habría que tomar esto en cuenta en nuestras pruebas.
  4. Sets de Datos: En esta sección es donde se construyen los datos que necesitamos, más detalle en esta sección un poco mas adelante.
  5. Tipos de Generado: Una vez se han construído los datos requeridos, aquí es donde seleccionamos como queremos obtener esos datos, ya sea en un archivo bajado, impreso en otro tab y los diferentes formatos.

Sets de Datos

Vamos a ver como construímos nuestro set de datos. Tomaremos el ejemplo del principio, para esto vamos a necesitar varios nombres, apellidos, telefonos, direcciones, ciudades y países.

 GenerateData2

Vamos a construir una tabla de datos que se vea algo como:

Name
Lastname
Phone
Address
City
Country
Gustavo Rivera 456-789-3598 234 Fake Address New Hope USA
John Doe 951-765-3498 048 Fake Address Warminster USA
Jane Doe 957-835-9143 94 Fake Address Doylestown USA

1. Orden

Es el orden en que las columnas van acomodadas, por ejemplo, si queremos el mismo orden que en la tabla anterior, debemos empezar rellenando de arriba hacia abajo, los nombres de las columnas de la tabla de izquierda a derecha.

DataImage3

 

2. Nombres de las columnas

Estos son los nombres o títulos de cada columna. Para agregar mas columnas, solo hay que escribir cuantas columnas más necesitamos y dar click en el botón Row

GenerateImage4

3. Tipo de Datos

Cada tipo de datos elegidos aquí es lo que nos brindará la diferente información aleatoria que necesitamos. Las opciones son las siguientes:

  • Human Data
    • Names
    • Names, Regional
    • Phone / Fax
    • Phone / Fax, Regional
    • Email
    • Date
    • Company
  • Geo
    • Street Address
    • City
    • Postal / Zip
    • Region (state)
    • Country
    • Latitude / Longitude
  • Text
    • Fixed number of words
    • Random number of words
  • Numeric
    • Alphanumeric. 
    • Autoincrement.
    • Number Range
    • GUID
    • Currency
  • Math
    • Normal Distribution
  • Other
    • Constant
    • Composite
    • Tree (parent row ID)
    • Custom List

Para conocer ejemplos y que tipo de datos cada uno de estos obtiene podemos dar clic en el link "?" (6 en la captura de pantalla anterior)

4. Ejemplos

En esta columna podemos especificar información más detallada. Por ejemplo, para la opción Nombres en la columna 3 podemos elegir Masculino, Femenino y cualquier género, al seleccionar alguna de las opciones los datos que obtendremos seguirán las reglas elegidas aquí.

5. Opciones

Algunos tipos de datos nos brindan mas posibilidad de especificación estas opciones se nos serán mostradas en esta columna.

GenerateImage5

Si seleccionamos currency en la siguiente columna nos brinda algunas opciones y eso nos brinda mas opciones de formato en la siguiente columna, al seleccionar cada una de las opciones aquí nos ayudará a formatear de mejor manera los datos que queremos generar.

6. Ayuda y borrado

Aquí podemos obtener ayuda acerca de los datos que estamos generando y seleccionando la casilla y dando clic en el botón Del. borrará esas columnas.

Luego de elegir los datos correctos, como en el ejemplo

GenerateData6

Ahora podemos obtener nuestros datos. En la última parte de la página veremos las formas para exportar. Podemos exportar nuestros resultados en diferentes formatos como: 

  • CSV
  • Excel
  • HTML
  • JSON
  • Lenguaje de Programación
  • SQL
  • XML

Cada uno de los formatos tiene sus propias opciones, por ejemplo para archivos CSV podemos elegir el caracter separador. Para archivos HTML podemos elegir entre tabla o una lista ordenada, o lista desordenada o hasta formato personalizado.

Generate6

En la seccion verde podemos elegir cuantos datos queremos y en que forma los queremos recibir, ya sea generados en la misma pagina (yo no lo recomiendo), en un nuevo tab, o download. Para el ejemplo con el que estamos trabajando simplemente solicitaré 10 resultados, obteniendo:

GenerateData7

Ahora podemos usar estos datos en nuestro siguiente script. ¿Como usar datos en algún script? Cada herramienta tiene su propia forma, aquí y luego aquí les dejo un ejemplo de uno de mis posts anteriores. Espero que este artículo les ayude a ahorrar un poco de tiempo y energía generando datos para hacer pruebas. En mi próximo artículo hablaré de Test Spicer que es una herramienta similar pero en ésta los datos son generados desde una API y llamados directamente desde el script que estemos corriendo.