TDD
Test-Driven Development
Escribe el test primero. Mira cómo falla. Escribe el código que lo hace pasar. Refactoriza. Repite.
Test-Driven Development es una disciplina, no una metodología. El loop es: rojo (escribir un test que falla), verde (escribir el código más simple que pase), refactor (limpiar sin romper el test). Hecho al pie de la letra, produce código con cobertura de tests muy alta y una función de fuerza contra el over-engineering.
Por qué la mayoría de los equipos dicen que hacen TDD pero no lo hacen: escribir el test primero se siente más lento en el momento. El payoff (seguridad para refactorizar, cobertura de regresión, presión de diseño hacia unidades pequeñas) llega meses después. Para entonces el equipo dejó de escribir los tests primero y se convenció de que nunca marcó la diferencia.
Wavect usa TDD donde paga: tests de integración para todo lo relacionado con dinero, tests de contrato para todo lo orientado al cliente, tests unitarios para lógica no trivial. No escribimos tests para getters y setters. La cobertura como objetivo es una métrica que se manipula.