No contexto do Desenvolvimento Dirigido por Testes (TDD), a escrita de testes automatizados é uma prática comum utilizada para verificar o comportamento do software durante o processo de desenvolvimento. Com relação a esse contexto e sobre o conteúdo estudado, analise as asserções a seguir e a relação proposta entre elas: I. O TDD melhora a qualidade do código ao exigir a criação de testes automatizados para todas as funcionalidades, garantindo que novas implementações não quebrem o sistema existente. PORQUE II. A prática de TDD permite que todos os testes antigos passem automaticamente em cada novo incremento, sem a necessidade de revisão manual dos testes anteriores. A respeito dessas asserções, assinale a alternativa correta.
Questão
No contexto do Desenvolvimento Dirigido por Testes (TDD), a escrita de testes automatizados é uma prática comum utilizada para verificar o comportamento do software durante o processo de desenvolvimento.
Com relação a esse contexto e sobre o conteúdo estudado, analise as asserções a seguir e a relação proposta entre elas:
I. O TDD melhora a qualidade do código ao exigir a criação de testes automatizados para todas as funcionalidades, garantindo que novas implementações não quebrem o sistema existente.
PORQUE
II. A prática de TDD permite que todos os testes antigos passem automaticamente em cada novo incremento, sem a necessidade de revisão manual dos testes anteriores.
A respeito dessas asserções, assinale a alternativa correta.
Alternativas
A) As asserções I e II são falsas.
B) As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
C) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
D) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
E) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
Explicação
Análise da asserção I: No TDD, escreve-se primeiro um teste automatizado que falha, depois implementa-se o mínimo para fazê-lo passar e, por fim, refatora-se. Esse ciclo cria uma suíte de testes de regressão que ajuda a detectar rapidamente quando uma nova alteração quebra comportamento previamente implementado. Portanto, é correto afirmar que o TDD tende a melhorar a qualidade e ajuda a garantir que novas implementações não quebrem o sistema existente (ao menos no que estiver coberto por testes). Logo, a I é verdadeira.
Análise da asserção II: É verdade que, em TDD, os testes (incluindo os antigos) são executados frequentemente de forma automatizada a cada incremento/alteração (ex.: via IDE, pipeline de CI). Porém, dizer que isso ocorre “sem a necessidade de revisão manual dos testes anteriores” é problemático:
- testes podem precisar ser ajustados quando requisitos mudam;
- testes podem estar mal escritos, frágeis (flaky) ou cobrir comportamentos que deixaram de ser desejados;
- a automação não elimina a necessidade de manutenção da suíte de testes.
Ou seja, a prática de TDD não garante que não haverá necessidade de revisão/manutenção dos testes antigos; ela apenas facilita a execução repetida deles. Assim, a II é falsa.
Como a I é verdadeira e a II é falsa, a alternativa correta é:
Alternativa correta: (C).
Travou em outra questão? A gente resolve.
Crie sua conta grátis e resolva 3 questões por dia com explicação passo a passo, por texto ou foto.