Durante o desenvolvimento de um projeto de software em uma empresa de tecnologia, foram identificados diversos problemas relacionados à falta de testes adequados. Muitas funcionalidades do software estavam com bugs, o que gerou
retrabalho e atrasos na entrega do projeto. Para resolver esses problemas, a equipe responsável decidiu adotar a prática
de Desenvolvimento Orientado por Testes (Test-Driven Development—TDD).
Quais são as etapas do ciclo de TDD que essa equipe deve seguir para garantir a implementação correta das funcionalidades e a redução de bugs no projeto?
a) Escrever todos os testes, implementar todo o código, executar todos os testes e, depois, corrigir o código a partir do
relatório de falhas.
b) Escrever todos os testes, garantir que todos falham, implementar todo o código, executar cada teste um a um e corrigir
imediatamente o código até tudo funcionar.
c) Escrever um teste, executá-lo e vê-lo falhar, implementar o código necessário para passar em todos os testes já criados, refatorar o código e, em seguida, repetir todo o processo.
d) Escrever todos os testes de unidade, implementar todo o código, executar todos os testes de unidade, corrigir todos os
erros encontrados nas unidades, escrever todos os testes de integração, executar todos os testes e corrigir o código a
partir do relatório de falhas.
e) Refatorar o código existente com foco na qualidade, escrever todos os testes para o novo código, testar todo o código
e corrigi-lo a partir do relatório de falhas.