TDD como metodología de diseño de software

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:

  1. Test-first development (escribir las pruebas primero)
  2. Refactoring (refactorización de código)

Para esto, se usa un ciclo de desarrollo que consta de tres partes principales:

  1. Las pruebas deben fallar (red)
  2. Las pruebas deben pasar (green)
  3. 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).