Lenguaje de pepinillo: formato, sintaxis y amp; Prueba de pepinillo en pepino

¿Qué es el idioma pepinillo?

Gherkin es un lenguaje legible para empresas que le ayuda a describir el comportamiento empresarial sin entrar en detalles de implementación. Es un lenguaje específico de dominio para definir pruebas en formato Cucumber para especificaciones. Utiliza un lenguaje sencillo para describir casos de uso y permite a los usuarios eliminar detalles lógicos de las pruebas de comportamiento.

El texto en idioma Gherkin actúa como documentación y esqueleto de sus pruebas automatizadas. El formato Gherkin se basa en TreeTop Grammar, que existe en más de 37 idiomas. Por lo tanto, puede escribir su pepinillo en más de 37 idiomas hablados.

Este script tiene dos propósitos principales:

  • Documenta escenarios de usuario
  • Escribir una prueba automatizada (BDD)

En este tutorial de pepinillo, aprenderá

  • ¿Qué es el idioma pepinillo?
  • ¿Por qué Gherkin?
  • Sintaxis de pepinillo
  • Términos importantes utilizados en pepinillo
  • Ejemplo de pepinillo
  • Mejores prácticas de uso de Gherkin
  • Ventajas del pepinillo

¿Por qué Gherkin?

La necesidad de pepinillo se puede explicar fácilmente con las siguientes imágenes.

Antes de pepinillo

Después de pepinillo

Sintaxis de pepinillo

Gherkin es un lenguaje orientado a líneas como YAML y Python. Cada línea se llama paso y comienza con una palabra clave y finaliza con una parada. La tabulación o el espacio se utilizan para la sangría.

En este script, se puede agregar un comentario en cualquier lugar que desee, pero debe comenzar con un signo #. Leyó cada línea después de eliminar las palabras clave de Ghrekin como se indica, cuándo, entonces, etc.

Los pasos típicos del pepinillo se ven así:

Gherkin Scripts: conecta el concepto humano de causa y efecto con el concepto de software de entrada / proceso / salida.

Sintaxis de pepinillo:

Característica: Título del escenarioDadas [condiciones previas o contexto inicial]Cuando [Evento o Disparador]Entonces [Resultado esperado]

Un documento Gherkin tiene una extensión .feature y simplemente es un archivo de prueba con una extensión elegante. Cucumber lee el documento Gherkin y ejecuta una prueba para validar que el software se comporta según la sintaxis de Gherkin.

Términos importantes utilizados en pepinillo

  • Característica
  • Fondo
  • Guión
  • Dado
  • Cuando
  • Entonces
  • Y
  • Pero
  • Ejemplos de esquema de escenario

La convención de nomenclatura se utiliza para el nombre de la función. Sin embargo, no hay reglas establecidas en Cucumber sobre los nombres.

Característica:

El archivo debe tener la extensión .feature y cada archivo de características debe tener solo una característica. La palabra clave de la función está con la función: y después de eso, se escribirá un espacio y el nombre de la función.

Guión:

Cada archivo de características puede tener varios escenarios, y cada escenario comienza con Escenario: seguido del nombre del escenario.

Fondo:

La palabra clave de fondo le ayuda a agregar algo de contexto al escenario. Puede contener algunos pasos del escenario, pero la única diferencia es que debe ejecutarse antes de cada escenario.

Dado:

El uso de la palabra clave dada es poner el sistema en un estado familiar antes de que el usuario comience a interactuar con el sistema. Sin embargo, puede omitir la escritura de interacciones de usuario en los pasos dados si se da en el paso "Precondición".

Sintaxis:

Dado
Dado: un paso de prueba que define el 'contextoDado que estoy en "/".

Cuando:

Cuando el paso es definir la acción realizada por el usuario.

Sintaxis:

Cuando
A Cuándo: un paso de prueba que define la 'acción' realizadaCuando realizo "Iniciar sesión".

Entonces:

El uso de la palabra clave 'entonces' es ver el resultado después de la acción en el paso cuando. Sin embargo, solo puede verificar cambios notables.

Sintaxis:

 Entonces
Luego, paso de prueba que define el "resultado".Entonces debería ver "Bienvenido Tom".

Y pero

Es posible que le hayan dado múltiples cuando o Entonces.

Sintaxis:

Pero
Un Pero - paso de prueba adicional que define el "resultado" de la "acción".Pero debería ver "Bienvenido Tom".
Y - paso de prueba adicional que define la 'acción' realizadaY escribo "EmailAddress" con " Esta dirección de correo electrónico está protegida contra spambots. Necesita activar JavaScript para verla ..."

Dado, Cuándo, Entonces y, pero son pasos de prueba. Puede usarlos indistintamente. El intérprete no muestra ningún error. Sin embargo, seguramente no tendrán ningún "sentido" cuando se lean.

Términos importantes utilizados en pepinillo

Dado que la página de inicio de sesión se está abriendoCuando ingreso el nombre de usuario, la contraseña y hago clic en el botón Iniciar sesiónEntonces estoy en la página de inicio

Ejemplos de pepinillos

Ejemplo 1:

Característica: funcionalidad de inicio de sesión del sitio de redes sociales Facebook.Dado: soy un usuario de Facebook.Cuándo: ingreso el nombre de usuario como nombre de usuario.Y entro la contraseña como contraseñaEntonces debería ser redirigido a la página de inicio de Facebook.

El escenario mencionado anteriormente es de una función llamada inicio de sesión de usuario.

Todas las palabras escritas en negrita son palabras clave de Gherkin.

Gherkin analizará cada paso escrito en el archivo de definición de pasos. Por lo tanto, los pasos se dan en el archivo de características y el archivo de definición de pasos debe coincidir.

Ejemplo 2:

Característica: Antecedentes de la autenticación de usuario:Dado que el usuario ya está registrado en el sitio web Escenario:Dado que el usuario está en la página de inicio de sesiónCuando el usuario ingresa la dirección de correo electrónico correctaY el usuario ingresa la contraseña correctaY el usuario hace clic en el botón Iniciar sesiónEntonces el usuario debe estar autenticadoY el usuario debe ser redirigido a su panel.Y el usuario debe recibir un mensaje de éxito.

Mejores prácticas de uso de Gherkin

  • Cada escenario debe ejecutarse por separado
  • Cada función debería poder ejecutarse a lo largo de
  • La información de los pasos debe mostrarse de forma independiente
  • Conecte sus escenarios con sus requisitos
  • Mantenga un registro completo de los escenarios que deben incluirse en un documento de requisitos
  • Cree pasos modulares y fáciles de entender
  • Intente combinar todos sus escenarios comunes

Ventajas del pepinillo

  • Gherkin es lo suficientemente simple para que los no programadores lo entiendan
  • Los programadores pueden usarlo como una base muy sólida para comenzar sus pruebas.
  • Hace que las historias de usuario sean más fáciles de digerir
  • La secuencia de comandos Gherkin puede ser entendida fácilmente por ejecutivos y desarrolladores de negocios.
  • Gherkin Testing se enfoca en los requisitos comerciales
  • Una proporción significativa de las especificaciones funcionales se escribe como historias de usuario.
  • No es necesario ser un experto para comprender el pequeño conjunto de comandos Gherkin
  • Los casos de Gherkin Test vinculan las pruebas de aceptación directamente con las pruebas automatizadas
  • Los casos de estilo de escritura de pruebas son más fáciles de reutilizar el código en otras pruebas

Desventajas del pepinillo

  • Requiere un alto nivel de compromiso empresarial y colaboraciones.
  • Puede que no funcione bien en todos los escenarios
  • Las pruebas mal escritas pueden aumentar fácilmente el costo de mantenimiento de las pruebas

Resumen:

  • El pepinillo es el formato para las especificaciones del pepino.
  • Gherkin es un lenguaje orientado a líneas como YAML y Python
  • Gherkin Scripts conecta el concepto humano de causa y efecto con el concepto de software de entrada / proceso y salida.
  • Característica, Trasfondo, Escenario, Dado, Cuándo, Luego y Pero se usan de manera importante en Gherkin
  • En Gherkin, cada escenario debe ejecutarse por separado
  • La mayor ventaja de Gherkin es lo suficientemente simple para que los no programadores comprendan
  • Es posible que la prueba de pepinillo no funcione bien en todo tipo de situaciones

Articulos interesantes...