Es una metodología de desarrollo cuyo objetivo es crear primero las pruebas y luego escribir el software. Sus siglas en Inglés son: Test Driven Development y en español significa: Desarrollo guiado por pruebas.
Para que funcione el desarrollo guiado por pruebas, el sistema debe ser suficientemente flexible como para permitir que sea probado automáticamente y se deben combinar dos metodologías que son:
- Test-first development (escribir las pruebas primero)
- Refactoring (refactorización de código)
Para esto, se usa un ciclo de desarrollo que consta de tres partes principales:
- Las pruebas deben fallar (red)
- Las pruebas deben pasar (green)
- Se debe mejorar el código (refactor)
Ventajas del TDD:
- Puedes mejorar el código de tu aplicación en cualquier momento sin miedo a que algún módulo deje de funcionar, ya que las pruebas verifican el perfecto funcionamiento de la aplicación.
- Gran cantidad de documentación, durante el proceso de creación del código, vamos resolviendo dudas.
- Los equipos de testing, development y analyst serán más felices.
- La lectura del código será mucho mejor al tener ejemplos de uso (las pruebas).