O desenvolvimento orientado a testes ( TDD ) criado por Kent Beck, é uma forma de escrever código que envolve escrever um caso de teste automatizado em nível de unidade que falha, depois escrever apenas o código suficiente para fazer o teste passar, depois refatorar o código de teste e o código de produção e, em seguida, repetir com outro novo caso de teste.
Abordagens alternativas para escrever testes automatizados são escrever todo o código de produção antes de iniciar o código de teste ou escrever todo o código de teste antes de iniciar o código de produção. Com o TDD, ambos são escritos juntos.
TDD está relacionado aos conceitos de programação de teste primeiro de programação extrema , iniciado em 1999, mas mais recentemente criou um interesse mais geral por si só.
Os programadores também aplicam o conceito para melhorar e depurar código legado desenvolvido com técnicas mais antigas.
Ciclo de codificação:
- Liste os cenários para o novo recurso
- Escreva um teste para um item da lista
- Execute todos os testes. O novo teste deve falhar – por razões esperadas
- Escreva o código mais simples que passe no novo teste
- Todos os testes agora devem passar
- Refatore conforme necessário, garantindo que todos os testes continuem sendo aprovados
Repita
Repita o processo, começando na etapa 2, com cada teste da lista até que todos os testes sejam implementados e aprovados.
Cada teste deve ser pequeno e os commits feitos com frequência. Se o novo código falhar em alguns testes, o programador poderá desfazer ou reverter, em vez de depurar excessivamente.
Ao usar bibliotecas externas , é importante não escrever testes que sejam tão pequenos a ponto de testar efetivamente apenas a própria biblioteca, a menos que haja alguma razão para acreditar que a biblioteca tem bugs ou não é rica em recursos o suficiente para servir todos os necessidades do software em desenvolvimento.