0% found this document useful (0 votes)
132 views16 pages

Conceptos Gherkin

The document discusses Behavior Driven Development (BDD) and Gherkin, a language used for BDD. Gherkin allows specifying software behavior in a natural language format. Key concepts discussed include features, scenarios, given/when/then, and scenario outlines with examples.

Uploaded by

Jorman Rincon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
132 views16 pages

Conceptos Gherkin

The document discusses Behavior Driven Development (BDD) and Gherkin, a language used for BDD. Gherkin allows specifying software behavior in a natural language format. Key concepts discussed include features, scenarios, given/when/then, and scenario outlines with examples.

Uploaded by

Jorman Rincon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Gherkin

BDD
“Se le llama BDD a la construcción de software basado en ejemplos.”
Esos ejemplos son especificaciones del qué debería hacer el sistema,
escritos mediante escenarios o features. Esos escenarios son descritos
con pasos (steps) que muestran en alto detalle la funcionalidad
esperada de la aplicación.
Gherkin

Para hacer BDD se requiere un lenguaje


y para que especifique el
comportamiento claro de una aplicación
se hace necesario que ese lenguaje sea
muy similar al lenguaje natural. Uno de
los lenguajes más populares es Gherkin
(Given-When-Then) que establece una
cercanía a nivel de lenguaje entre
personas técnicas y no técnicas.
Conceptos - Features

Feature: [Descripción del feature]


Especifican funcionalmente una Como [rol]
necesidad que soluciona la Quiero [alguna cosa]
aplicación Para [que me va aportar]

Feature: Envío de entradas por correo electrónico


Como socio del deportivo Cali
Puede contener varias historias
Quiero recibir un email con mis entradas
de usuario Para poder imprimirlas y asistir al partido
Conceptos - Escenarios

Feature: [Descripción del escenario]


Permite definir una situación
Given [una situación]
concreta. Es un criterio de
aceptación redactado como When [alguna cosa pasa]
ejemplo. Then [como responde el sistema]

Feature: El cliente compra un bono familiar


Contenidos en los features, Given cliente con bono familiar
pueden ser uno o más dentro When llega la fecha del partido
de un mismo feature. Then se le envían todas las entradas de su familia
Conceptos - Background

Background:
Permite añadir un contexto a Given el premio de la lotería toca en la oficina
todos los escenarios de un
feature Scenario:
Given un trabajador que compró la décima boleta
When se entera de la noticia
Then se pone muy contento

Scenario:
Solo incluye un given Given un trabajador que no compró la décima boleta
When se entera de la noticia
Then odio a sus compañeros de trabajo
Conceptos - Given

Es usado para presentarnos los Given un cliente de Bancolombia


actores (y su entorno) de un And tiene su nómina domiciliada

escenario Given usuario de la web


And tiene su nómina domiciliada

Given tengo 5 latas de cocacola en la nevera

Given un piloto de fórmula I


Siempre va en el comienzo de And tiene un coche averiado
un escenario y/o background
Conceptos - When

Representa la acción que ejecuta el usuario

When es un utilizado después de When solicita un préstamo hipotecario


presentar los actores (Given)
When el boleto comprado tiene premio

When es autenticado correctamente

Aunque se pueden concatenar When enviar sus datos a ser procesados


varios When no es When confirma que los datos son correctos
recomendable. And declara que acepta los términos y condiciones
Conceptos - Then

Es usado para verificar el


Then el saldo del cliente es incrementado
resultado esperado después de
ejecutarse la acción (when) Then quedan 4 latas de cerveza en la nevera

Then se solicita el código de seguridad

Then aumenta el saldo de la cuenta ‘AAA’ And


disminuye el saldo de la cuenta ‘BBB’
Siempre va en el final de un
escenario y para concatenarlos
se usa And
Conceptos - But

Es usado igual que Then pero


su uso es negativo But no se muestra la posición global del cliente

But el cliente no es autenticado correctamente

Then aumenta el saldo de la cuenta ‘AAA’ But no


aumenta el saldo de la cuenta ‘BBB’
Siempre va en el final de un
escenario y no tiene un uso
muy extendido
Conceptos - Scenario outline, examples

Se trata de un tipo de Scenario Scenario outline: Alquiler de peluches


concreto donde definimos datos
Given Estoy en un centro comercial
de And mi hijo quiere montar en un peluche con ruedas
entrada particulares When alquilo el peluche con ruedas durante <tiempo>
Then tengo que pagar <precio>
And se me queda cara de <cara_de>
Example:
Permite probar el mismo
|Tiempo| Precio | cara de |
escenario para distintos datos |15’ |25€ | Me has timado |
de entrada. Se recomienda no |30’ |60€ | Me has timado mucho |
abusar de los ejemplos
Buenas y malas prácticas

“La buena práctica es especificar qué debe hacer


el sistema y no cómo debe hacerlo”
Ejercicio
Ejercicio - Solución
Demo
Referencias

● Gherkin… Una guía de supervivencia ágil


● Tidy App - Gherkin

"Tidy Gherkin"

You might also like