Questão de Engenharia de Software — Teste de Software — INSTITUTO AOCP 2025
Engenharia de Software›Teste de Software
Código
qg540906
Banca
INSTITUTO AOCP
Órgão
MPE-RS
Ano
2025
Nível
Médio
Cargo
Técnico do Ministério Público - Informática
O TDD (Test Driven Development) é uma prática de desenvolvimento de software que visa garantir que o código esteja sempre alinhado com os requisitos especificados, através da criação de testes automatizados que validam continuamente o funcionamento do sistema. A abordagem segue uma sequência de etapas específicas para promover um ciclo de desenvolvimento iterativo e eficaz. Nesse contexto, assinale a alternativa que apresenta a primeira etapa do ciclo TDD.
AExecutar testes.
BEscrever o código.
CDesenvolver a interface.
DEscrever um teste.
ERefatorar o código.
Revelar gabarito e comentário▾
GabaritoD — Escrever um teste.
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 (Test Driven Development): a primeira etapa do ciclo
Gabarito: letra D. No TDD, a primeira etapa do ciclo é escrever um teste que ainda vai falhar, antes de qualquer código de produção — só depois se escreve o código mínimo para fazer o teste passar e, por fim, refatora-se. Essa é a essência do Desenvolvimento Orientado a Testes, prática ligada ao XP (eXtreme Programming) e difundida por Kent Beck.
O TDD (Test Driven Development), ou Desenvolvimento Orientado a Testes, é uma técnica de desenvolvimento de software que inverte a ordem tradicional: em vez de escrever o código e depois testar, o desenvolvedor primeiro escreve o teste automatizado que define o comportamento esperado da nova funcionalidade, depois escreve o código mínimo para fazer esse teste passar e, por fim, refatora o código para melhorar sua qualidade interna sem alterar seu comportamento externo. O ciclo é conhecido como Red-Green-Refactor: no estado Red, o teste falha (porque o código ainda não existe); no Green, o teste passa (após escrever o código); no Refactor, o código é melhorado mantendo os testes verdes.
A lógica por trás dessa ordem é garantir que o teste realmente valide algo: se o teste passar antes de existir o código, ele não está testando nada. Além disso, escrever o teste primeiro força o desenvolvedor a pensar nos requisitos e no design da solução antes de implementar, alinhando o código ao que realmente é necessário. O TDD é uma prática central do XP, metodologia ágil criada por Kent Beck, e também é adotada em outras abordagens ágeis.
Na prática, o ciclo funciona assim: imagine que você precisa implementar uma função que soma dois números. No TDD, você primeiro escreve um teste que chama essa função (que ainda não existe) e verifica se o resultado é o esperado. Ao executar, o teste falha (Red). Então você escreve o código mais simples possível para fazer o teste passar (Green). Depois, você refatora o código, melhorando sua estrutura, e executa os testes novamente para garantir que nada quebrou (Refactor). Esse ciclo se repete para cada nova funcionalidade.
A pegadinha que a banca explora aqui é justamente a inversão da ordem: muitos candidatos, acostumados com o fluxo tradicional (código → teste), marcam "escrever o código" ou "executar testes" como primeira etapa. Mas no TDD, o teste vem antes do código. Guarde o ciclo: teste (falha) → código (passa) → refatoração. É exatamente essa sequência que as alternativas tentam confundir.
1Escrever teste (falha)
2Escrever código mínimo
3Refatorar código
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Executar testes é uma etapa do ciclo, mas não é a primeira. No TDD, os testes são executados logo após serem escritos (e devem falhar), mas a escrita do teste precede a execução. A alternativa confunde a ordem: primeiro se escreve o teste, depois se executa.
Alternativa B — ❌ Incorreta
Escrever o código é a segunda etapa do ciclo TDD, não a primeira. No TDD, o código só é escrito depois que o teste (que falha) já existe, e deve ser o mínimo necessário para fazer o teste passar. A alternativa inverte a lógica central do TDD, que é "teste primeiro, código depois".
Alternativa C — ❌ Incorreta
Desenvolver a interface não é uma etapa do ciclo TDD. O TDD foca na lógica de negócio e no comportamento do sistema, não na interface do usuário. A interface pode ser desenvolvida em paralelo ou depois, mas não faz parte do ciclo Red-Green-Refactor. A alternativa foge completamente do escopo do TDD.
Alternativa D — ✅ Correta ⟵ GABARITO
Escrever um teste é a primeira etapa do ciclo TDD. O desenvolvedor escreve um teste automatizado que define o comportamento esperado da funcionalidade, antes de qualquer código de produção. Esse teste deve falhar inicialmente (Red), pois o código ainda não existe. Essa é a essência do TDD: o teste guia o desenvolvimento.
Alternativa E — ❌ Incorreta
Refatorar o código é a terceira etapa do ciclo TDD, não a primeira. Após o teste passar (Green), o código é refatorado para melhorar sua qualidade interna, mantendo o comportamento externo. A alternativa coloca a refatoração como etapa inicial, o que contraria a sequência Red-Green-Refactor.
Gabarito: letra D — a primeira etapa do ciclo TDD é escrever um teste.