Durante o desenvolvimento de um projeto de software em uma e...
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?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta para a questão é a C.
O tema abordado na questão é o Desenvolvimento Orientado por Testes (Test-Driven Development - TDD), uma técnica de desenvolvimento de software que enfatiza a criação de testes antes da implementação do código. Esse método ajuda a garantir que o software atenda aos requisitos especificados e reduz a chance de introdução de bugs durante o desenvolvimento.
Vamos explorar a alternativa correta e as incorretas:
Alternativa C: Esta opção está correta porque descreve com precisão o ciclo do TDD. As etapas são:
- Escrever um teste: Começar escrevendo um teste para a funcionalidade que se deseja implementar.
- Executar e vê-lo falhar: O teste deve falhar inicialmente porque a funcionalidade ainda não foi implementada.
- Implementar o código: Escrever apenas o código necessário para passar no teste.
- Refatorar o código: Aperfeiçoar o código, melhorando sua estrutura sem alterar seu comportamento.
- Repetir o processo: Continuar com o próximo teste.
Alternativa A: Esta abordagem sugere escrever todos os testes e implementar todo o código antes de testar, o que não é a prática do TDD. O TDD promove o desenvolvimento incremental, não em blocos completos.
Alternativa B: Embora comece corretamente ao escrever testes primeiro, sugere implementar todo o código antes de corrigir cada teste, o que não é o foco do TDD, que é incremental e iterativo.
Alternativa D: Propõe um processo sequencial que mistura testes de unidade e integração com implementação completa do código, não refletindo o ciclo ágil e iterativo do TDD.
Alternativa E: Começa com refatoração e escrita de testes depois, o que não segue a filosofia TDD de primeiro escrever testes antes da implementação do código.
O TDD é uma prática fundamental para garantir a qualidade do software e minimizar o retrabalho, como mencionado no contexto da questão.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo