Carregando...
Carregando...
Ajude a melhorar a plataforma
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.
PORQUEII. 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.
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
Alternativa (D) - A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
O Desenvolvimento Dirigido por Testes (TDD) é uma metodologia ágil de desenvolvimento de software que inverte a ordem tradicional de codificação e teste, exigindo a escrita de testes automatizados antes da implementação do código de produção. Essa prática visa aprimorar a qualidade do software, o design do sistema e garantir a robustez das funcionalidades existentes contra a introdução de novos defeitos.
O TDD opera em um ciclo iterativo e curto, frequentemente chamado de "Red-Green-Refactor":
Essa abordagem garante que todo o código de produção tenha uma cobertura de teste correspondente, servindo como uma especificação executável do comportamento do software. A bateria de testes automatizados se torna uma rede de segurança indispensável, permitindo que os desenvolvedores façam alterações com confiança, sabendo que qualquer introdução acidental de um bug (regressão) será rapidamente identificada pelos testes que falharem.
Análise da Asserção 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."
Análise da Asserção 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 tabela a seguir compara os pontos das asserções:
| Característica | Asserção I (Verdadeira) | Asserção II (Falsa) | | :------------------------------ | :------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Foco principal | Qualidade do código, prevenção de regressões, design. | Automação e manutenção de testes. | | Papel dos testes | Validação do comportamento, detecção de erros, guia de desenvolvimento. | Simplesmente passar automaticamente, sem necessidade de intervenção. | | Necessidade de intervenção | Reduz a necessidade de depuração manual extensiva pós-implementação. | Erroneamente nega a necessidade de revisão e manutenção manual dos testes ao longo do ciclo de vida do software, ignorando mudanças de requisitos e refatoração de testes. | | Implicações na prática TDD | Fundamental para os benefícios de TDD (confiança, agilidade, qualidade). | Uma visão idealizada e irrealista da manutenção de testes. Embora a execução seja automática, a gestão e atualização dos testes requerem esforço manual e contínuo. |
Análise da Relação "PORQUE": Como a Asserção II é falsa, ela não pode servir como justificativa para a Asserção I, que é verdadeira.
A asserção I corretamente afirma que o TDD eleva a qualidade do código e previne regressões através da criação obrigatória de testes automatizados. Por outro lado, a asserção II contém uma inverdade ao sugerir que a prática de TDD elimina a necessidade de qualquer revisão manual dos testes anteriores; a manutenção e atualização dos testes são atividades contínuas e necessárias em qualquer projeto de software em evolução. Portanto, a primeira asserção é verdadeira e a segunda é falsa, o que nos leva à alternativa (D).
Alternativa (D).