Lenguaje Gherkin


El lenguaje Gherkin define la estructura y una sintaxis básica para la descripción de las pruebas que pueden ser entendidas tanto por los integrantes técnicos del equipo como así también por los Analistas/PO o quien quiera que este como representante del cliente. De esta manera mientras se generan pruebas se esta generando documentación viva que describe perfectamente como se comporta el sistema enriqueciendo y manteniendo la documentación.

El formato fue introducido por la herramienta Cucumber pero también es utilizado por otras herramientas derivadas de Cucumber como Specflow que ya hemos hablado antes en el blog.

Con este tipo de pruebas buscamos cubrir la parte media de la pirámide de pruebas automatizadas punto en el cual cada día se esta centrando el testing automatizado por los beneficios que trae la práctica.

Vamos a ver los conceptos que introduce el lenguaje Gherking para definir las pruebas de la capa media o haciendo escenarios un poco mas complejos la capa de UI también.

Feature (Característica)

El elemento Feature proporciona el encabezado o el marco para el archivo Feature. Tiene un título y un texto con una descripción de alto nivel de la función de la aplicación que se detalla en el archivo. Contiene el listado de Scenarios que componen el feature, los cuales se pueden agrupar por tags (por ejemplo: @HappyPath)

Scenario (Escenario)

Un Scenario es una lista de pasos que comienza con algunas de estas palabras claves:

  • Given (|Dado|Dada|Dados|Dadas)
  • When (Cuando)
  • Then (Entonces)
  • But (Pero) o And (Y)

Ejemplo:

Característica: Servir café
El café no se debe servir hasta que se pague
El café no se debe servir hasta que se haya pulsado el botón
Si no queda café entonces el dinero debe ser devuelto

Escenario: Comprar último café
Dado que hay 1 café que quedan en la máquina
Y he depositado 1 $
Cuando presiono el botón de café
Entonces 1 café debería ser servido

Background (Antecedentes)

Utilizamos el Background para definir precondiciones para cada uno de los Scenarios a correr y así no ser repetitivos y focalizar los Scenarios en la prueba especifica.

Ejemplo:

Antecedentes:
Dado que estoy frente a la maquina de café
Y tengo 1$ para depositar

Escenario: Comprar último café
Dado que hay 1 café que quedan en la máquina
Y he depositado 1 $
Cuando presiono el botón de café
Entonces 1 café debería ser servido

Scenario Outline (Esquema del escenario)

Los Scenario Outline nos permiten introducir variables en nuestros Scenarios y así simplificar pruebas que requieren los mismos pasos pero que pueden tener datos variados. El Scenario Outline va junto a la tabla Examples (Ejemplos)  donde definimos los valores de la variables en cada corrida.

Esquema del escenario: Comprar último café
Dado que hay <CantidadRestanteDeCafe> café que quedan en la máquina
Y he depositado <MontoADepositar> $
Cuando presiono el botón de café
Entonces <CantidadDeCafeARecibir>café debería ser servido

Ejemplos:
|CantidadRestanteDeCafe|MontoADepositar|CantidadDeCafeARecibir|

|          1                                   |             1                 |                  1                          |
|          99                                |              99             |                  99                       |

En este caso el mismo Scenario se ejecutara dos veces, la primera con el valor 1 y la segunda vez con el valor 99.

 


Más información:

 

Te gustó el post? Quieres contribuir para que escriba más? Contribute with the Blog

Un pensamiento en “Lenguaje Gherkin”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s