Está en la página 1de 24

Formación en Gherkin

Noviembre 2019
Contenido

01 OBJETIVO DEL CURSO

02 TDD, BDD y ATDD

03 HISTORIA DE USUARIO

04 GHERKIN

05 EJERCICIOS

© 2019 Everis
OBJETIVO DEL CURSO

© 2019 Everis
01
OBJETIVO DEL CURSO

Los Objetivos de la sesión son:

• Determinar conceptos de Historia de Usuario.


• Establecer GHERKIN como sintaxis para escribir nuestros casos de prueba basado en historias de usuario.

© 2019 Everis
TDD, BDD y ATDD

© 2019 Everis
02
TDD, BDD Y ATDD

TDD - Desarrollo Guiado por pruebas:


- Enfocado a pruebas unitarias.

Escribe una prueba que falla


RED
(Fail)

CICLO
TDD
Mejora el código sin cambiar Haga el código suficiente
el comportamiento para pasar la prueba
REFACT GREEN
OR (Pass)

© 2019 Everis
02
TDD, BDD Y ATDD

BDD - Desarrollo Guiado por Comportamiento:


- Enfocado a pruebas funcionales y/o aceptación.

Inicio de Fase Sprint e Implementación

Historia de Generación de Ejecución de


Usuario Scripts Scripts

PO QA QA

Criterios de Crear Arquitectura


Aceptación de Solución Código/
Refactorización
PO QA

Archivos Definición de Resultado de


Escenario y Prueba
Feature
Feature
QA/BA QA/BA QA

Prueba Passed
Prueba Failed
© 2019 Everis
02
TDD, BDD Y ATDD

Entrega Especificación

Desarrollo Guiado por

ATDD Pruebas de Aceptación


Enfocado P.
Aceptación

Desarrollo
Herramientas

Escribir
Escenario de Herramientas

Desarrollo Guiado por


Prueba BDD Prueba Escribir Test
Comportamiento Conforme Fallido
Enfocado P.
Funcional TDD
Desarrollo Guiado
por Prueba
Enfocado P.
Refactorizar Unitarias

© 2019 Everis
02
TDD, BDD Y ATDD

ÍTEM TDD BDD ATDD

TDD es una técnica de desarrollo TDD es una técnica de desarrollo ATDD es una técnica similar a BDD
que se centra más en la que se centra en el comportamiento que se enfoca más en capturar los
Definición implementación de pruebas del sistema requisitos
unitarias

Participantes Desarrollador Desarrollador, QA, Cliente Desarrollador, QA, Cliente

Lenguaje Java, .NET, Python Cucumber, Gherkin Gherkin

Enfoque Principal Pruebas unitarias Pruebas de aceptación Pruebas de Aceptación

Herramientas Junit, TestNG Gherkin, Cucumber -

© 2019 Everis
HISTORIA DE USUARIO

© 2019 Everis
03
HISTORIA DE USUARIO

Para ISTQB Foundation Level Agile Tester, la definición de hecho para historias de usuarios pueden determinarse
mediante lo siguientes criterios:

• Las historias de usuario seleccionadas para iteración están completas, son entendidas por el equipo y tienen criterios de
aceptación detallados y comprobables.

• Todos los elementos de la historia del usuario se especifican y revisan, incluida la historia del usuario. Para pruebas de
aceptación.

Una Historia de Usuario es una descripción de la funcionalidad o necesidad del negocio a implementarse.

Elementos de las Historias de Usuario:

 Tarjeta (Card)
 Conversación (Conversation)
 Confirmación (Confirmation)

© 2019 Everis
03
HISTORIA DE USUARIO

Estructura de Historia de Usuario

Para escribir una buena historia de usuario, Mike Cohn propuso la siguiente estructura en su libro Succeeding with Agile:

• COMO: usuario / cliente / rol


• QUIERO (DESEO/ NECESITO): requerimiento, funcionalidad
• PARA: ¿Obtener qué? (ganancia, valor) ; ¿Por qué el usuario desea el requisito? ¿Qué está intentando lograr? En otras
palabras, ¿Cuál es el objetivo?

Criterios de aceptación

Los criterios de aceptación es una lista específica y definida de condiciones que deben cumplirse antes de que una historia
de usuario sea considerada como completada y el entregable de dicha historia es aceptado por el cliente

La forma más utilizada para describir los criterios de aceptación es conocida como:

• DADO: son las pre-condiciones que debe cumplir el software para iniciar las pruebas.
• CUANDO: son las acciones que ejecuta el usuario para iniciar las pruebas.
• ENTONCES: son los resultados esperados después de haber ejecutado las pruebas.

© 2019 Everis
GHERKIN

© 2019 Everis
04
GHERKIN

¿Qué es Gherkin?

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/TPO/CX o quien quiera que esté como representante del
cliente.

Gherkin tiene múltiples propósitos:

• Pruebas Automatizadas con Cucumber.


• Documentar cómo se comporta realmente el sistema. Feature: Title of your feature
I want to use this template for my feature
• Especificación ejecutable inequívoca.
file

@tag1
Scenario: Title of your scenario
Given I want to write a step with
precondition
And some other precondition
When I complete action
And some other action
And yet another action
Then I validate the outcomes
And check more outcomes
© 2019 Everis
04
GHERKIN

¿Cómo interviene Gherkin en la automatización?

Page Object Pattern

Test Web Web


Scripts Object Page

Archivo Feature Ejecución Script


Reportes
Chrome
Pasos en Combinado con Definición Selenium
Gherkin de
Escenario Edge

Como se aprecia en la arquitectura de automatización, Gherkin intervine desde el inicio de la solución, forma un pilar importante
para construir nuestra SAP.

© 2019 Everis
04
GHERKIN

Palabras Clave - Keywords

Para poder escribir las Historias de Usuarios en Casos de Prueba con Gherkin se utilizan palabras reservadas:

 Feature: Indica la característica del sistema o la funcionalidad que vamos a probar. Debe ser un título claro y explícito.
 Scenario: Describe cada escenario que vamos a probar.
 Given (Dado): describe las condiciones previas y/o el estado inicial en que se debe encontrar el software antes del inicio
de las pruebas.
 When (Cuando): Especifica el conjunto de acciones que lanzan la prueba (Es la interacción del usuario que acciona la
funcionalidad que deseamos probar).
 Then (Entonces): Especifica el resultado esperado de las pruebas. Observamos los cambios en el sistema y vemos si
son los deseados.

En los casos que se tenga múltiples pre-condiciones, acciones de usuario y resultados esperados, podemos utilizar las
siguientes palabras claves:

 And (Y): Se utiliza para añadir mas condiciones a los pasos.


 But (Pero): Se utiliza para agregar una condición que sea opuesta a la premisa que se está probando.

© 2019 Everis
04
GHERKIN

Feature - Característica

Feature: Mostrar opciones de información de la aplicación


Para poder conocer acerca de la aplicación
Como usuario
Quiero tener acceso las opciones de información

• Describe la historia que vamos a probar.


• El keywork Feature es la primera palabra con que inicia el documento, debe estar seguido de dos punto (:)
en el que posterior a eso se describe la historia.
• Se puede agregar más descripción de la historia (Como-Quiero-Para o Para-Como-Quiero) en las líneas
debajo de Feature.
• Las líneas de descripción son ignoradas en tiempo de ejecución, pero se muestran en los reportes.
• Para indicar el lenguaje se debe colocar #Lenguage: Lenguaje a usar. Para ingles no es necesario indicar el
lenguaje.

© 2019 Everis
04
GHERKIN

Scenario - Escenario

• Un escenario es el comportamiento esperado del software.


• Un escenario debe contemplar de uno a más criterios de aceptación.
• Una historia puede tener de uno a más escenarios.
• El keywork Scenario debe estar seguido de dos punto (:) en el que posterior a eso se describe el
escenario a probar.
• Un escenario es una prueba que puede tener tantos steps como se desee. Pero se recomienda no
abusar del uso de estos.
• Steps:
• Cada step inicia con Given, When, Then, And, But.

© 2019 Everis
04
GHERKIN

Ejemplo de escritura en Gherkin

Feacture: Crear Cuenta


Scenario: Realizar Apertura de Cuenta
Given un usuario esta en la página principal de Portal
And que el portlet Apertura de Cuentas muestra el combo “Tipo de Cuenta”
And muestre el combo “Modalidad”
When el usuario selecciona “Ahorro” en la lista Tipo de Cuenta
And el usuario selecciona “Individual” en la lista Modalidad
And el usuario selecciona “Cuenta Ilimitada BCP” en el lista Tipo de Sub Producto
And el usuario selecciona “Nacional” el la opción Moneda
And el usuario hace clic el botón “Siguiente”
Then el usuario podrá visualizar las Cuentas Generadas
And el usuario podrá visualizar la cartilla Generada

Imagina esto en 1922

Esfuércese por encontrar ejemplos que no hagan suposiciones sobre la tecnología o la interfaz de
usuario. Imagina que es 1922, cuando no había computadoras.

© 2019 Everis
04
GHERKIN

Ejemplo de escritura en Gherkin

Feacture: Crear Cuenta


Para poder tener una cuenta
Como usuario
Quiero poder crear varias cuentas en la aplicación
Background:
Given un usuario esta en la página principal de Portal
And que el portlet Apertura de Cuentas muestra el combo “Tipo de Cuenta”
And muestre el combo “Modalidad”
ScenarioOutline: Realizar Apertura de Cuenta
When el usuario selecciona <Tipo Cuenta> en la lista Tipo de Cuenta
And el usuario selecciona <Modalidad> en la lista Modalidad
And el usuario selecciona <Sub Producto> en el lista Tipo de Sub Producto
And el usuario selecciona “Nacional” el la opción Moneda
And el usuario hace clic el botón “Siguiente”
Then el usuario podrá visualizar las Cuentas Generadas
And el usuario podrá visualizar la cartilla Generada

Examples::
| Tipo Cuenta | Modalidad | Sub Producto |
| Ahorro | Individual | Cuenta Digital BCP |

© 2019 Everis
04
GHERKIN

Tabla de Palabras Clave

keyword Ejemplo
Descripción
Ingles Español
Feature Característica Describe la historia que vamos a probar
Scenario Escenario Describe el escenario que vamos a probar
Given Dado Describe el contexto inicial
When Cuando Describe un evento o una acción
Then Entonces Describe un resultado esperado
And Y Indica que estamos continuando el paso superior
But Pero Indica que estamos continuando el paso superior
Background Antecedentes Steps ejecutados antes de cada escenario
Scenario Outline Esquema del escenario Indica que el escenario se ejecutará con ejemplos
Examples Ejemplos Indica que se usarán parámetros para la ejecución del escenario

© 2019 Everis
EJERCICIOS

© 2019 Everis
05
EJERCICIOS

Configuración de entorno

Configuraremos el siguiente entorno de automatización para utilizar Gherkin.

1. Descargar e Instalar Eclipse IDE 2019-09


2. Descargar e Instalar jdk-8u231-windows-i586.exe
3. Crear variables de Entorno JAVA_HOME
4. Descargar las siguientes librerías en https://mvnrepository.com/
4.1. gherkin-5.2.0
4.2. cucumber-java-4.7.4
4.3. cucumber-junit-4.7.4
4.4. cucumber-jvm-deps-1.0.6
4.5. cucumber-core-4.7.4

© 2019 Everis
Gracias

También podría gustarte