TDD, ou Desenvolvimento Orientado por Testes, é uma forma de programar. Primeiro, você escreve testes. Depois, desenvolve o código para que os testes passem. Por fim, melhora o código sem mudar seu funcionamento.