Durante o desenvolvimento de um projeto de software em uma e...

Próximas questões
Com base no mesmo assunto
Q3057476 Engenharia de Software
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? 
Alternativas

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