Implica em desenvolver o teste inicialmente, e em seguida é produzido código apenas para passar no teste.
Refatoração
Significa melhorar um código já existente eliminando as partes redundantes ou duplicadas, alterando a estrutura do código sem alterar o comportamento do componente ou sistema.
Benefícios do TDD
Permite desenvolvimento simples de incrementos
Envolve um processo de desenvolvimento mais simples
Provê um constante teste de regressão
Melhora a comunicação
Melhora o entendimento do comportamento do sistema
Centraliza o conhecimento
Passos do TDD
1) Escrever um teste que define um comportamento
2) Escrever o código fonte que funcione frente ao teste escrito
3) Refatorar. O teste garante que a refatoração não corromperá o código.