Test
Driven Development (TDD) ou Desenvolvimento guiado por testes é uma técnica de desenvolvimento
de software que baseia em um ciclo curto de repetições:
·
Primeiramente o desenvolvedor escreve um caso
de teste automatizado que define uma melhoria desejada ou uma nova funcionalidade;
·
Então, é produzido código que possa ser
validado pelo teste para posteriormente o código ser refatorado para um código
sob padrões aceitáveis.
Devido ao fato de que nenhum código é escrito
a não ser para passar em um teste que esteja falhando, testes automatizados
tendem a cobrir cada caminho de código. Como consequência, os testes
automatizados irão mostrar qualquer mudança inesperada no comportamento do
código. Isto ajuda a identificar problemas cedo que poderiam aparecer ao
consertar uma funcionalidade que ao modificada, inesperadamente altera outra
funcionalidade.
Pessoal, atentem para um trecho importante do
parágrafo anterior: “...os testes automatizados irão mostrar qualquer mudança
inesperada no comportamento do código”. Isso mostra a questão erra ao dizer que
com a execução de testes de unidade haverá garantia de inalterabilidade de
comportamento do código.