📝 Estructura de una Feature en BDD 📝
¡Bienvenidos/as a la newsletter de Xperiencia CXclusiva!
En el Desarrollo Basado en Comportamiento (BDD), la estructura de una historia de usuario o feature se describe detallando los pasos o steps de cada una de las secciones. Vamos a explorar la estructura de una feature en GHERKIN, siguiendo una notación clara y efectiva.
Encabezado de Feature en GHERKIN
En GHERKIN, el encabezado de una feature comienza con el nombre de la feature, seguido de una descripción del valor desde el punto de vista del negocio de la historia de usuario:
Feature: Nombre de la Funcionalidad
Como [Usuario/Rol]
Me gustaría [Funcionalidad]
De tal manera que [Beneficio]
Estilo GHERKIN: Modo Imperativo vs. Declarativo
Existen dos estilos principales en GHERKIN: el modo imperativo y el modo declarativo.
Modo Imperativo
En el modo imperativo, los steps se relacionan con la actividad específica que realiza el usuario. Esto se alinea estrechamente con la forma en que el usuario interactúa con el sistema:
Scenario: Descripción del Escenario
Given [Contexto]
When [Acción]
Then [Resultado]
Recomendado por LinkedIn
Modo Declarativo
En cambio, el modo declarativo se centra en el valor del usuario en lugar de en las acciones que realiza. Describe los steps desde un punto de vista más amplio:
Scenario: Descripción del Escenario
Given [Contexto]
And [Más Contexto]
When [Evento]
Then [Resultado Esperado]
¿Cuál es Mejor?
El lenguaje imperativo proporciona más información sobre la interfaz de usuario y permite la creación de elementos reutilizables. Es útil para la participación de múltiples personas en la construcción de escenarios simples.
Por otro lado, el lenguaje declarativo es más fácil de mantener y está más alineado con una estrategia de criterios de aceptación basados en el dominio de lo que se está tratando.
¡Aplica el estilo que mejor se adapte a las necesidades de tu equipo y proyecto!
Reflexión: Solo si querías saber un poco más de Gherkin y cómo se veía la estructura te muestro un poco más este tipo de lenguaje, puesto que en el post anterior esbocé este concepto y a alguno/a le pareció interesante. Esto es principalmente para los que trabajan directamente en el desarrollo de software, pero acá estamos para aprender y adaptar el contenido a nuestra realidad-intereses-trabajo etc.
No olvides comentar, compartir y aplicar estas prácticas en tu equipo de desarrollo.
¡Hasta la próxima edición de nuestra newsletter Xperiencia CXclusiva!
Visita Xperiencia Cxclusiva para más contenido sobre desarrollo ágil y BDD. 🌀📈