SlideShare una empresa de Scribd logo
1 de 10
Gherkin
Creado para que la gente se
entienda
¿Qué es Gherkin?
El lenguaje que permitirá al programador entender lo que alguien de negocio
quiere decir y viceversa
Feature
Feature: Envío de entradas por correo electrónico
Como socio del Alcoyano FC
Quiero recibir un email con mis entradas
Para poder imprimirlas y asistir al partido
Feature: [Descripción de la feature]
Como [rol]
Quiero [alguna cosa]
Para [que me va aportar]
Usamos lenguaje de criterios de
aceptación
Una feature de Gherkin puede
contener varias US
o una US puede estar definida en
varias features de Gherkin
Scenario
Scenario: El cliente tiene un abono de familiar
Given un cliente con abono familiar
When llega la fecha del partido
Then se le envían todas las entradas de su familia
Scenario: [Descripción del scenario]
Given ...
When ...
Then …
Una feature puede contener uno o
varios escenarios
Un escenario nos permite definir una
situación concreta
Un criterio de aceptación puede
corresponderse con varios
escenarios
Background
Background:
Given el premio de la lotería toca en la oficina
Scenario:
Given un trabajador que compró el décimo
When se entera de la noticia
Then se pone muy contento
Scenario:
Given un trabajador que no compró el
décimo
When se entera de la noticia
Then odio a sus compañeros de trabajo
Nos permite añadir contexto a
todos los escenarios de un
feature
El background sólo debe incluir
Given
Given
Given un cliente del BBVA
Given un cliente del BBVA
And tiene su nómina domiciliada
Given usuario de la web
And tiene su nómina domiciliada
Given tengo 5 latas de cocacola en la nevera
Es usado para presentarnos los
actores (y su entorno) de un
escenario
Siempre va en al comienzo de un
escenario (o/y background)
Para concatenar varios Given
usamos el keyword And
Given un piloto de fórmula I
And tiene un coche averiado
When
Representa la acción que ejecuta el
usuario
Aunque se pueden concatenar varios
When no es recomendable.
When es un utilizado después de
presentar los actores (Given)
When solicita un préstamo hipotecario
When el boleto comprado tiene premio
When es autenticado correctamente
When enviar sus datos a ser procesados
When confirma que los datos son correctos
And declara que acepta los términos y condiciones
Then
Then se muestra la posición global del cliente
Es utilizado para verificar el
resultado esperados después de
ejecutarse la acción (When)
Then el saldo del cliente es incrementado
Cuando concatenamos varios Then
debemos usar And
Then es utilizado al final de un
escenario
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’
But
Su uso es exactamente el mismo que
Then pero usado para mostrar algo
negativo
No tiene un uso muy extendido.
But es utilizado al final de un
escenario
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’
Scenario outline
Scenario outline: Alquiler de peluches
Given Estoy en un centro comercial
And mi hijo quiere montar en un peluche con ruedas
When alquilo el peluche con ruedas durante <tiempo>
Then tengo que pagar <precio>
And se me queda cara de <cara_de>
Example:
Tiempo | Precio | cara de
15’ | 25€
| Me has timado
30’ | 60€
| Me has timado mucho
Se trata de un tipo de Scenario
concreto donde definimos datos de
entrada particulares
No se recomienda abusar de este
tipo.
Nos permite probar el mismo
escenario para distintos datos de
entrada.

Más contenido relacionado

La actualidad más candente

Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testing
dversaci
 

La actualidad más candente (20)

Testing banking apps
Testing banking appsTesting banking apps
Testing banking apps
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testing
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumber
 
Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteria
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
 
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
 
Practical service level objectives with error budgeting
Practical service level objectives with error budgetingPractical service level objectives with error budgeting
Practical service level objectives with error budgeting
 
Cucumber - Curso de Automatización de Pruebas
Cucumber - Curso de Automatización de PruebasCucumber - Curso de Automatización de Pruebas
Cucumber - Curso de Automatización de Pruebas
 
gRPC and Microservices
gRPC and MicroservicesgRPC and Microservices
gRPC and Microservices
 
Test Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and CucumberTest Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and Cucumber
 
Gherkin /BDD intro
Gherkin /BDD introGherkin /BDD intro
Gherkin /BDD intro
 
Pruebas Exploratorias en Entornos Ágiles
Pruebas Exploratorias en Entornos ÁgilesPruebas Exploratorias en Entornos Ágiles
Pruebas Exploratorias en Entornos Ágiles
 
BDD with SpecFlow and Selenium
BDD with SpecFlow and SeleniumBDD with SpecFlow and Selenium
BDD with SpecFlow and Selenium
 
gRPC - RPC rebirth?
gRPC - RPC rebirth?gRPC - RPC rebirth?
gRPC - RPC rebirth?
 
Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
ISTQB Advanced Test Manager Training 2012 - Testing Process
ISTQB Advanced Test Manager Training 2012 - Testing Process ISTQB Advanced Test Manager Training 2012 - Testing Process
ISTQB Advanced Test Manager Training 2012 - Testing Process
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
Cucumber & gherkin language
Cucumber & gherkin languageCucumber & gherkin language
Cucumber & gherkin language
 

Destacado

Specifications for the real world — Using Specification by Example and Gherkin
Specifications for the real world — Using Specification by Example and GherkinSpecifications for the real world — Using Specification by Example and Gherkin
Specifications for the real world — Using Specification by Example and Gherkin
Kamil Nicieja
 

Destacado (15)

Errores comunes en uso de gherkin
Errores comunes en uso de gherkinErrores comunes en uso de gherkin
Errores comunes en uso de gherkin
 
Quality Assurance Guidelines
Quality Assurance GuidelinesQuality Assurance Guidelines
Quality Assurance Guidelines
 
BDD, Gherkin, Cucumber and why we need it.
BDD, Gherkin, Cucumber and why we need it.BDD, Gherkin, Cucumber and why we need it.
BDD, Gherkin, Cucumber and why we need it.
 
Bdd – with cucumber and gherkin
Bdd – with cucumber and gherkinBdd – with cucumber and gherkin
Bdd – with cucumber and gherkin
 
The Gherkin
The GherkinThe Gherkin
The Gherkin
 
Gherkin - crash course
Gherkin - crash courseGherkin - crash course
Gherkin - crash course
 
Specification-By-Example with Gherkin
Specification-By-Example with GherkinSpecification-By-Example with Gherkin
Specification-By-Example with Gherkin
 
Ryanair presentation- Future of BDD in Ryanair
Ryanair presentation- Future of BDD in RyanairRyanair presentation- Future of BDD in Ryanair
Ryanair presentation- Future of BDD in Ryanair
 
Ryanair presentation-Use of Gherkin in BDD
Ryanair presentation-Use of Gherkin in BDDRyanair presentation-Use of Gherkin in BDD
Ryanair presentation-Use of Gherkin in BDD
 
Specifications for the real world — Using Specification by Example and Gherkin
Specifications for the real world — Using Specification by Example and GherkinSpecifications for the real world — Using Specification by Example and Gherkin
Specifications for the real world — Using Specification by Example and Gherkin
 
Gherkin for test automation in agile
Gherkin for test automation in agileGherkin for test automation in agile
Gherkin for test automation in agile
 
Tutorial: Implementing Specification-By-Example with Gherkin
Tutorial: Implementing Specification-By-Example with GherkinTutorial: Implementing Specification-By-Example with Gherkin
Tutorial: Implementing Specification-By-Example with Gherkin
 
The Art of Gherkin Scripting - Matt Eakin
The Art of Gherkin Scripting - Matt EakinThe Art of Gherkin Scripting - Matt Eakin
The Art of Gherkin Scripting - Matt Eakin
 
SpecFlow and some things I've picked up
SpecFlow and some things I've picked upSpecFlow and some things I've picked up
SpecFlow and some things I've picked up
 
Software testing and quality assurance
Software testing and quality assuranceSoftware testing and quality assurance
Software testing and quality assurance
 

Último

TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
UPSE
 
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
UPSE
 

Último (9)

Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
 
Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocio
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
 
Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdf
 
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocio
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
 

Introducción a gherkin

  • 1. Gherkin Creado para que la gente se entienda
  • 2. ¿Qué es Gherkin? El lenguaje que permitirá al programador entender lo que alguien de negocio quiere decir y viceversa
  • 3. Feature Feature: Envío de entradas por correo electrónico Como socio del Alcoyano FC Quiero recibir un email con mis entradas Para poder imprimirlas y asistir al partido Feature: [Descripción de la feature] Como [rol] Quiero [alguna cosa] Para [que me va aportar] Usamos lenguaje de criterios de aceptación Una feature de Gherkin puede contener varias US o una US puede estar definida en varias features de Gherkin
  • 4. Scenario Scenario: El cliente tiene un abono de familiar Given un cliente con abono familiar When llega la fecha del partido Then se le envían todas las entradas de su familia Scenario: [Descripción del scenario] Given ... When ... Then … Una feature puede contener uno o varios escenarios Un escenario nos permite definir una situación concreta Un criterio de aceptación puede corresponderse con varios escenarios
  • 5. Background Background: Given el premio de la lotería toca en la oficina Scenario: Given un trabajador que compró el décimo When se entera de la noticia Then se pone muy contento Scenario: Given un trabajador que no compró el décimo When se entera de la noticia Then odio a sus compañeros de trabajo Nos permite añadir contexto a todos los escenarios de un feature El background sólo debe incluir Given
  • 6. Given Given un cliente del BBVA Given un cliente del BBVA And tiene su nómina domiciliada Given usuario de la web And tiene su nómina domiciliada Given tengo 5 latas de cocacola en la nevera Es usado para presentarnos los actores (y su entorno) de un escenario Siempre va en al comienzo de un escenario (o/y background) Para concatenar varios Given usamos el keyword And Given un piloto de fórmula I And tiene un coche averiado
  • 7. When Representa la acción que ejecuta el usuario Aunque se pueden concatenar varios When no es recomendable. When es un utilizado después de presentar los actores (Given) When solicita un préstamo hipotecario When el boleto comprado tiene premio When es autenticado correctamente When enviar sus datos a ser procesados When confirma que los datos son correctos And declara que acepta los términos y condiciones
  • 8. Then Then se muestra la posición global del cliente Es utilizado para verificar el resultado esperados después de ejecutarse la acción (When) Then el saldo del cliente es incrementado Cuando concatenamos varios Then debemos usar And Then es utilizado al final de un escenario 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’
  • 9. But Su uso es exactamente el mismo que Then pero usado para mostrar algo negativo No tiene un uso muy extendido. But es utilizado al final de un escenario 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’
  • 10. Scenario outline Scenario outline: Alquiler de peluches Given Estoy en un centro comercial And mi hijo quiere montar en un peluche con ruedas When alquilo el peluche con ruedas durante <tiempo> Then tengo que pagar <precio> And se me queda cara de <cara_de> Example: Tiempo | Precio | cara de 15’ | 25€ | Me has timado 30’ | 60€ | Me has timado mucho Se trata de un tipo de Scenario concreto donde definimos datos de entrada particulares No se recomienda abusar de este tipo. Nos permite probar el mismo escenario para distintos datos de entrada.