Puede ser útil darse cuenta de que el enfoque de BDD son las conversaciones . BDD es realmente una herramienta de análisis que proporciona algunas pruebas de regresión como un buen subproducto.
He usado escenarios en todo tipo de niveles en la conversación; desde identificar diferentes partes interesadas para ver si es probable que una publicación sea bien recibida, hasta determinar cómo debe comportarse un módulo o clase .
Hay un par de consejos y sugerencias que puedo sugerir para facilitar esto.
Si nunca lo has hecho antes, va a cambiar.
Es probable que todo lo que sea nuevo para el dominio o el negocio cambie. Puedes darte cuenta de que estás en este espacio si estás hablando de los escenarios, cuestionándolos y el negocio dice: "Oh, no estoy seguro". Esa es una buena señal para dejar de intentar hacer BDD y aumentar algo para obtener comentarios más rápidos, para ayudar a la empresa a resolver lo que quieren. Una vez que las ideas se han estabilizado, los escenarios se pueden escribir en retrospectiva.
Todos los proyectos tienen algún aspecto nuevo, o no los estarías haciendo.
Si lo has hecho antes, es aburrido.
Además de los aspectos nuevos y diferenciadores , los proyectos generalmente tienen algunos aspectos comercializados que son similares a los ya realizados. Por ejemplo, si estaba produciendo un nuevo teléfono móvil, aún tendría que hacer llamadas. "Hacer una llamada telefónica" es un escenario tan conocido que no tendríamos que hablarlo. Del mismo modo, cosas como "iniciar sesión" o incluso "registro de usuario" son aburridas.
Siempre que sea posible, use bibliotecas para estos, y luego no tendrá que escribir escenarios a su alrededor. Además, ¿los otros bits primero - haber un ya-usuario conectado y el trabajo lo que el registro está en para . Es poco probable que estas áreas cambien, por lo que es posible que pueda salirse con las pruebas manuales de todos modos.
Si alguien lo ha hecho antes, hablar sobre los escenarios puede ayudar.
Hay un poco entre donde tenemos requisitos específicos de dominio, cosas que es relativamente bien entendido por alguien , y donde la incertidumbre real se basa principalmente en el alcance en lugar del comportamiento real del sistema.
Hablar a través de escenarios puede ayudar al equipo de desarrollo a descubrir comportamientos, aprovechar el conocimiento de un experto y garantizar que se capture el comportamiento conocido y valioso.
Este es el bit donde BDD funciona mejor. Mi consejo es escribir los escenarios más interesantes en la parte superior del archivo de características (o wiki, si no está automatizando) y eliminar cualquier escenario que esté duplicado o sea fácil de inferir como resultado.
Siempre que sea posible, use los escenarios solo como ejemplos de cómo funciona la aplicación . Por ejemplo, si desea mostrar cómo funciona la validación, muestre un par de ejemplos de cómo la aplicación ayuda al usuario a completar un formulario. Verifique que la validación sea rigurosa utilizando pruebas unitarias, que son mucho más fáciles de mantener y más rápidas de ejecutar.
Otras lecturas
Si está interesado en esto, aquí hay algunas cosas que escribí que podrían ayudar.
BDD en el grande
Cynefin para desarrolladores , que aborda estas tres áreas con más detalle
Mis diapositivas de tutoriales , que son agradables y anotadas para ti, y cubren toda la pila también.