TDD - Test Driven Development não é a bala de prata da qualidade de software, mas pode trazer benefícios se bem aplicado. O processo envolve escrever um teste pequeno antes do código funcional correspondente e refatorar continuamente. Isso força o pensamento no requisito antes de codificar e entrega código limpo e funcional, coberto por muitos testes. Porém, requer entendimento do problema, manutenção dos testes e não substitui outras práticas de teste.