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. 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.
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 proposições verdadeiras, e a II é uma justificativa da I.
B) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
C) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
D) As asserções I e II são falsas.
E) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
Explicação
Análise da asserção I No TDD, o ciclo clássico é Red → Green → Refactor: primeiro escreve-se um teste que falha (Red), depois implementa-se o mínimo para passar (Green) e, por fim, refatora-se mantendo os testes passando. Isso tende a elevar a qualidade do código porque força o desenvolvimento com foco em requisitos observáveis, cria uma suíte de regressão automatizada e ajuda a detectar rapidamente quando uma alteração quebra comportamentos já implementados. Logo, a asserção I é verdadeira.
Análise da asserção II O TDD realmente incentiva a execução frequente de todos os testes anteriores a cada novo incremento (regressão automatizada). Porém, não há garantia de que “todos os testes antigos passem automaticamente” sem necessidade de revisão: mudanças de requisitos, refatorações mal feitas, acoplamento excessivo, testes frágeis (brittle) ou alterações de interface podem exigir ajustes nos testes ou levar a falhas legítimas. Portanto, a ideia de que não há necessidade de revisão/ajuste manual de testes anteriores é incorreta. Assim, a asserção II é falsa.
Como I é verdadeira e II é falsa, a alternativa correta é a B.
Alternativa correta: (B).
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.