Sobes.tech
Junior

¿Qué es BDD (Desarrollo Guiado por Comportamiento)?

sobes.tech AI

Respuesta de la IA

BDD es una metodología de desarrollo de software que se centra en la comprensión conjunta de los requisitos y el comportamiento del sistema por todos los participantes del equipo (desarrolladores, testers, analistas de negocio). Se desarrolló a partir de TDD (Desarrollo Guiado por Pruebas).

Características clave de BDD:

  • Participación conjunta: Involucra a todas las partes interesadas en el proceso de definición de funcionalidades.
  • Lenguaje natural: Utiliza un lenguaje comprensible y no técnico (a menudo Gherkin) para describir el comportamiento del sistema.
  • Ejemplos: Define el comportamiento a través de ejemplos concretos y reales de uso.
  • Automatización: Los escenarios de comportamiento pueden ser automatizados y utilizados como documentación ejecutable y pruebas de regresión.

Los escenarios de BDD generalmente se describen en formato Given-When-Then:

  • Dado: Describe el estado inicial del sistema.
  • Cuando: Describe la acción que realiza el usuario o el sistema.
  • Entonces: Describe el comportamiento esperado o el resultado de esa acción.

Ejemplo de escenario BDD usando Gherkin:

# Funcionalidad: Búsqueda de productos
# El usuario debe poder encontrar productos por nombre.

# Escenario: Búsqueda exitosa de un producto existente
Dado que el usuario está en la página principal de la tienda en línea
Cuando el usuario ingresa "Libro" en el campo de búsqueda
Y hace clic en el botón "Buscar"
Entonces en la página se muestra una lista de productos que contienen "Libro" en el nombre
Y el número de productos encontrados es mayor que cero

Herramientas utilizadas en BDD:

Ventajas de BDD:

  • Mejor comprensión de los requisitos.
  • Reducción de errores debido a requisitos poco claros o contradictorios.
  • Interacción más efectiva entre los equipos.
  • Documentación ejecutable.
  • Pruebas automatizadas más estables y mantenibles.