Consigue una cita de consultoría gratuita

   Granada, España

Pruebas funcionales automatizadas con Gherkin y Cucumber

Pruebas funcionales automatizadas con Gherkin y Cucumber

En el desarrollo de software, las pruebas funcionales desempeñan un papel fundamental para garantizar que las aplicaciones cumplan con los requisitos y funcionen correctamente. Con el creciente enfoque en la automatización de pruebas, han surgido diversas herramientas para facilitar y agilizar este proceso. Dos de las herramientas más populares son Gherkin y Cucumber. En este artículo, exploraremos cómo Gherkin y Cucumber se combinan para mejorar las pruebas funcionales automatizadas y cómo se utilizan para fomentar la colaboración entre los equipos de desarrollo y pruebas.

¿Qué es Gherkin?

Gherkin es un lenguaje de dominio específico (DSL, por sus siglas en inglés) utilizado para describir el comportamiento de un sistema o una aplicación en un formato legible para los seres humanos. Es altamente estructurado y se basa en el concepto de especificaciones ejecutables. Gherkin permite escribir escenarios de prueba utilizando un formato fácil de entender, lo que facilita la colaboración entre los miembros del equipo técnico y no técnico.

El formato de Gherkin se compone de pasos, escenarios y características. Los pasos son declaraciones que describen acciones o verificaciones, mientras que los escenarios son ejemplos específicos de cómo se comporta el sistema en diferentes situaciones. Las características agrupan escenarios relacionados que cumplen un objetivo común.

Ejemplo de Uso de Gherkin

Característica: Inicio de sesión en una aplicación web
  Como usuario
  Quiero poder iniciar sesión en la aplicación
  Para acceder a mis datos personales

  Escenario: Iniciar sesión con credenciales válidas
    Dado que estoy en la página de inicio de sesión
    Cuando ingreso mi nombre de usuario "john_doe" y mi contraseña "secretpassword"
    Y hago clic en el botón "Iniciar sesión"
    Entonces debería ser redirigido a la página de inicio

  Escenario: Iniciar sesión con credenciales inválidas
    Dado que estoy en la página de inicio de sesión
    Cuando ingreso un nombre de usuario inválido y una contraseña inválida
    Y hago clic en el botón "Iniciar sesión"
    Entonces debería ver un mensaje de error que indica que las credenciales son incorrectas

  Escenario: Iniciar sesión sin completar campos obligatorios
    Dado que estoy en la página de inicio de sesión
    Cuando dejo en blanco el campo de nombre de usuario y el campo de contraseña
    Y hago clic en el botón "Iniciar sesión"
    Entonces debería ver un mensaje de error que indica que los campos son obligatorios

 

En este ejemplo, se describe una característica de «Inicio de sesión en una aplicación web». Luego se presentan varios escenarios, cada uno de los cuales describe una situación específica de inicio de sesión con diferentes conjuntos de datos.

Cada escenario comienza con el estado inicial («Dado que…»), seguido de los pasos de interacción con la aplicación («Cuando…»), y finalmente se especifica el resultado esperado («Entonces…»). Esto proporciona una descripción clara y legible de cómo se comporta el sistema en diferentes situaciones de inicio de sesión.

Al utilizar Gherkin, los miembros del equipo, tanto técnicos como no técnicos, pueden comprender fácilmente el propósito y el flujo de trabajo de las pruebas funcionales, lo que fomenta la colaboración y garantiza que todos tengan una visión clara del comportamiento esperado del sistema.

¿Qué es Cucumber?

Cucumber es una herramienta de automatización de pruebas que utiliza el lenguaje Gherkin para definir y ejecutar pruebas funcionales. Cucumber actúa como un intérprete de Gherkin, analizando los archivos de especificación y ejecutando los pasos definidos en código de programación.

Cucumber proporciona soporte para varios lenguajes de programación, incluyendo Java, Ruby y JavaScript, lo que la hace flexible y accesible para equipos con diferentes preferencias tecnológicas. Además, Cucumber facilita la generación de informes claros y concisos sobre el resultado de las pruebas, lo que ayuda a identificar y solucionar problemas de manera eficiente.

Beneficios de utilizar Gherkin y Cucumber juntos:

  1. Colaboración efectiva: Gherkin actúa como un lenguaje común entre los miembros del equipo técnico y no técnico, permitiendo una comunicación clara y eficiente. Los stakeholders pueden contribuir a la creación de las especificaciones y validar que los resultados se ajusten a sus expectativas.

  2. Claridad en las pruebas: El formato estructurado de Gherkin garantiza que las pruebas sean fáciles de leer y entender. Esto facilita el seguimiento del flujo de trabajo y asegura que todos los aspectos importantes sean considerados en las pruebas automatizadas.

  3. Reutilización de pasos: Cucumber permite la reutilización de pasos de prueba definidos previamente, lo que reduce la duplicación de código y mejora la mantenibilidad de las pruebas. Esto significa que los equipos pueden crear una biblioteca de pasos comunes para agilizar el desarrollo de nuevas pruebas.

  4. Enfoque basado en el comportamiento: Gherkin y Cucumber fomentan un enfoque basado en el comportamiento (BDD, por sus siglas en inglés)

Ejemplo de Uso de Cucumber y Gherkin

Feature: Inicio de sesión en una aplicación web
  Como usuario
  Quiero poder iniciar sesión en la aplicación
  Para acceder a mis datos personales

  Scenario: Iniciar sesión con credenciales válidas
    Given que estoy en la página de inicio de sesión
    When ingreso mi nombre de usuario "john_doe" y mi contraseña "secretpassword"
    And hago clic en el botón "Iniciar sesión"
    Then debería ser redirigido a la página de inicio

  Scenario: Iniciar sesión con credenciales inválidas
    Given que estoy en la página de inicio de sesión
    When ingreso un nombre de usuario inválido y una contraseña inválida
    And hago clic en el botón "Iniciar sesión"
    Then debería ver un mensaje de error que indica que las credenciales son incorrectas

  Scenario: Iniciar sesión sin completar campos obligatorios
    Given que estoy en la página de inicio de sesión
    When dejo en blanco el campo de nombre de usuario y el campo de contraseña
    And hago clic en el botón "Iniciar sesión"
    Then debería ver un mensaje de error que indica que los campos son obligatorios

En este ejemplo, se utiliza Cucumber para ejecutar las pruebas escritas en Gherkin. Cucumber interpreta los pasos escritos en lenguaje natural y los mapea a definiciones de pasos escritas en código.

Las definiciones de pasos en código se implementan utilizando un lenguaje de programación compatible con Cucumber, como Ruby. A continuación, se muestra un ejemplo de cómo se podrían implementar los pasos para el escenario «Iniciar sesión con credenciales válidas»:

Given("que estoy en la página de inicio de sesión") do
  # Código para navegar a la página de inicio de sesión
end

When("ingreso mi nombre de usuario {string} y mi contraseña {string}") do |username, password|
  # Código para ingresar el nombre de usuario y contraseña en los campos correspondientes
end

And("hago clic en el botón {string}") do |button_text|
  # Código para hacer clic en el botón de inicio de sesión
end

Then("debería ser redirigido a la página de inicio") do
  # Código para verificar que se haya redirigido a la página de inicio correctamente
end

Cucumber ejecutará estos pasos de manera secuencial y mostrará el resultado de la prueba en forma de informes. Al utilizar Cucumber, es posible definir y ejecutar pruebas funcionales de manera estructurada, reutilizable y fácilmente comprensible por todas las partes interesadas, mejorando la colaboración y la eficiencia en el proceso de pruebas automatizadas.

5 1 votar
Calificación
Suscribirse
Notificar de
guest
1 Comentario
Más antiguo
El mas nuevo Más votado
Comentarios en línea
Ver todos los comentarios
Pedro L.
Pedro L.
1 año atrás

¿Donde puedo ver que lenguajes de programación soporta Cucumber?

1
0
Me encantaría saber tu opinión, por favor comenta.x