BDD (Behavior-Driven Development) es una manera de desarrollar software por medio de especificar el comportamiento de la aplicación, así como de sus componentes de software con sus correspondientes objetos.
El principal artefacto de BDD no son ni las pruebas automatizadas, ni la documentación, ni otra cosa más que las conversaciones que se dan entre diferentes roles que intervienen en un proyecto de desarrollo de software, para vencer la incertidumbre e ignorancia en el proyecto.
El resultado de aplicar BDD son las especificaciones ejecutables, el detalle del entendimiento que se va acelerando con esta forma de desarrollar software, al mismo tiempo que constituye una documentación dinámica y sincronizada con el código de producción además de las tan útiles pruebas de regresión.