Este procedimiento de ingeniería de software al igual que TDD tiene como principal objetivo acabar con un producto funcional y con el código justo y necesario. Al ser dos procesos muy parecidos hay una gran confusión a la hora de hablar sobre ellos.

Si no sabes lo que es tdd, puedes aprender más en Desarrollo guiado por pruebas – TDD

BDD apareció a manos de Dan North para mejorar el procedimiento TDD, el Desarrollo Guiado por el Comportamiento combina las técnicas y principios usados por TDD con ideas de DDD y análisis orientado objetos para definir un lenguaje común entre el negocio y los técnicos, y utilizar eso como parte inicial del desarrollo y el testing.

Al igual que TDD este define el test antes de comenzar a programar y ejecuta este para que falle. A partir del fallo implementa el código y lo Re factoriza hasta que el test es correcto. Este proceso es exactamente igual en ambos.

BDD afecta la primera parte del ciclo de desarrollo, la especificación del test. El negocio especifica los requerimientos como historias de usuario. Estas historias de usuario deberán tener sus criterios de aceptación, y de ahí se desprenden pruebas de aceptación.

Esto significa que El código tiene que pasar todas las pruebas de aceptación antes de considerarse como finalizado. Esto lo puedes ver gráficamente en la siguiente imagen.

Hay numerosos BDD frameworks, los cuales son conocidos y dan buenos resultados. Estos son algunos ejemplos

Cucumber

Cucumber es una aplicación de software que programadores que es usada para probar programas. Esta ha sido escrita en Ruby pero puede ser utilizada mediante muchos lenguajes de programación. Link cucumber

SpecFlow

Es una herramienta para proyectos .NET que se creo con la misiónde proporcionar un marco para trabajar con Especificación–Ejemplo.  Se integra fácilmente en nuestros proyectos .Net, a diferencia de las otras opciones disponibles. Utiliza el lenguaje Gherkin (Given-When-Then) para la definición de escenarios de pruebas lo que facilita la creación de los mismos por parte de las personas del negocio.Link: Specflow.org