Software Crafters® 2025 | Creado con 🖤 para elevar el nivel de la conversación sobre programación en español | Legal
Test Driven Development (TDD), o desarrollo dirigido por pruebas en castellano, es una técnica de ingeniería de software para, valga la redundancia, diseñar software. Como su propio nombre indica, esta técnica dirige el desarrollo de un producto a través de ir escribiendo pruebas, generalmente unitarias.
El TDD fue desarrollada por Kent Beck a finales de la década de los 90 y forma parte de la metodología extreme programming. Su autor y los seguidores del TDD aseguran que con esta técnica se consigue un código más tolerante al cambio, robusto, seguro, más barato de mantener e, incluso, una vez que te acostumbras a aplicarlo, promete una mayor velocidad a la hora de desarrollar
Robert C. Martin describe la esencia del TDD como un proceso que atiende a las siguientes tres reglas:
Estas tres leyes derivan en la repetición de lo que se conoce como el ciclo Red-GreenRefactor. Veamos en qué consiste:
El ciclo Red-Green-Refactor, también conocido como algoritmo del TDD, se basa en:
Esta forma de programar ofrece dos beneficios principales. El primero y más obvio es que obtenemos un código con una buena cobertura de test, lo que es positivo hasta cierto punto. Recuerda, nos pagan por escribir código que funciona, no por hacer test.
El segundo beneficio es que escribir primero las pruebas nos ayuda a diseñar la API que va a tener nuestro componente, ya que nos obliga a pensar en cómo queremos utilizarlo. Esto suele acabar derivando en componentes con responsabilidades bien definidas y bajo acoplamiento.