Questão de Engenharia de Software — Teste de Software — FGV 2026
Engenharia de Software›Teste de Software
Código
fg133742
Banca
FGV
Órgão
TJ-RJ
Ano
2026
Nível
Superior
Cargo
Analista Judiciário - Tecnologia da Informação - Analista de Gestão de TIC
Durante o desenvolvimento de um sistema de controle de estoque, a equipe de engenharia de software optou por fazer uso do Desenvolvimento Guiado por Testes (TDD). A intenção era exercitar a interface e tentar encontrar erros nas estruturas de dados e na funcionalidade fornecida pelo componente. Após algumas iterações, notou-se que o código estava mais modular e com menos defeitos.Portanto, a prática essencial do TDD implementada nesse processo foi:
Apriorizar a documentação do sistema antes da criação dos testes;
Bexecutar testes manuais antes de cada commit no repositório de código;
Cescrever testes automatizados apenas para os módulos críticos do sistema;
Descrever os testes de integração após a implementação completa do sistema;
Eescrever um teste automatizado antes da implementação da funcionalidade correspondente.
Revelar gabarito e comentário▾
GabaritoE — escrever um teste automatizado antes da implementação da funcionalidade correspondente.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
TDD (Desenvolvimento Guiado por Testes)
Gabarito: letra E. No TDD, a prática essencial é escrever o teste automatizado antes da implementação da funcionalidade. Essa é a base do ciclo: escrever um teste que falha → codificar o mínimo para passar → refatorar. O contexto (C1, C3) descreve exatamente: "primeiro se escreve um teste que falha e depois se escreve um código para que o teste passe".
As demais alternativas fogem desse princípio ou representam práticas comuns em outras metodologias, mas não no TDD.
1Escrever teste que falha
2Codificar o mínimo para passar
3Refatorar o código
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Priorizar a documentação do sistema antes dos testes não é característica do TDD. A documentação pode ser gerada, mas o foco é escrever o teste primeiro.
Alternativa B — ❌ Incorreta
TDD utiliza testes automatizados, não manuais. A execução manual antes de cada commit não define a prática.
Alternativa C — ❌ Incorreta
TDD preconiza escrever testes para todas as funcionalidades, não apenas para módulos críticos.
Alternativa D — ❌ Incorreta
Escrever testes após a implementação contraria o TDD, que exige o teste antes do código. Essa é a inversão clássica que a banca explora.
Alternativa E — ✅ Correta ⟵ GABARITO
Exatamente: escrever um teste automatizado antes da implementação correspondente. Conforme descrito no contexto, essa é a "prática essencial do TDD".
NÃO CAIA NESSA!
A alternativa D inverte a ordem: escrever testes depois da implementação. Muitos candidatos confundem com TDD, mas o TDD inverte o fluxo tradicional — teste primeiro, código depois. Fique atento a essa troca!