Qué es y cómo funciona el flujo de testing en BDD
Qué es BDD
BDD es un paradigma de desarrollo de software.
Qué no es BDD
BDD no es Cucumber, ni Cucumber es BDD.
Además, aunque se relaciona con el testing, BDD no es testing, lo que ocurre es que tiene implícito el tema de la calidad del software y se asocia erróneamente a un proceso de testing.
Origen de BDD
Las bases de BDD las puso Dan North, porque detectó que había un vacío entre negocio y codificación, ya que cuando el tema llega a los desarrolladores está todo muy claro, pero hasta que eso aterriza hasta lo que se quiere desarrollar se produce un proceso muy arduo de clarificación entre el usuario y el cliente para tener claro lo que se quiere.
Al detectarse este vacío, se propone BDD como un paradigma o un conjunto de buenas prácticas que ayuda en la definición de ese negocio, para evitar en el futuro re-trabajos, entregar al cliente algo que no quiere y, en resumen, para que todas las personas que intervienen estén alineadas.
¿En qué consiste BDD?
BDD está muy relacionado con TDD, de hecho, muchos lo consideran como una ampliación de TDD, ya que sigue sus principios.
Básicamente consiste en escribir primero la prueba de aceptación, luego se desarrolla la funcionalidad, después se ejecuta esa prueba de forma manual o automática, y por último, se re-factoriza.