Pular para o conteúdo principal

Questão de Engenharia de Software — Teste de Software — FGV 2026

Engenharia de SoftwareTeste 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:
  1. Apriorizar a documentação do sistema antes da criação dos testes;
  2. Bexecutar testes manuais antes de cada commit no repositório de código;
  3. Cescrever testes automatizados apenas para os módulos críticos do sistema;
  4. Descrever os testes de integração após a implementação completa do sistema;
  5. 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.

  1. 1Escrever teste que falha
  2. 2Codificar o mínimo para passar
  3. 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!

Link permanente: /questoes/fg133742