Pular para o conteúdo principal

Questão de Engenharia de Software — Teste de Software — FUNDATEC 2025

Engenharia de SoftwareTeste de Software
Código
qg484484
Banca
FUNDATEC
Órgão
UFRGS
Ano
2025
Nível
Médio
Cargo
Técnico em Tecnologia da Informação/Área: Sistemas de Informação
Uma startup está desenvolvendo um aplicativo de mobilidade urbana que deve calcular rotas otimizadas para usuários em tempo real. O time de desenvolvimento adota a prática de Desenvolvimento Orientado a Testes (TDD) para garantir maior qualidade e reduzir retrabalho. Durante a implementação de uma nova funcionalidade de cálculo de tarifa dinâmica, o desenvolvedor cria inicialmente um teste automatizado que descreve o comportamento esperado, depois implementa o código mínimo necessário para que o teste passe e, em seguida, realiza refatorações para melhorar a estrutura do código sem alterar sua funcionalidade. Com base nesse cenário e nos princípios do TDD, assinale a alternativa que descreve corretamente a sequência de passos fundamentais dessa prática.
  1. ARefatoração → Escrita do teste → Implementação mínima.
  2. BImplementação mínima → Escrita do teste → Refatoração.
  3. CImplementação mínima → Refatoração → Escrita do teste.
  4. DEscrita do teste → Refatoração → Implementação mínima.
  5. EEscrita do teste → Implementação mínima → Refatoração.
Revelar gabarito e comentário

GabaritoE — Escrita do teste → Implementação mínima → Refatoração.

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”.

Desenvolvimento Orientado a Testes (TDD) – Ciclo Fundamental

Gabarito: letra E. A sequência correta do TDD é: escrever o teste primeiro, depois implementar o código mínimo para passar no teste, e por fim refatorar. Esse ciclo é conhecido como "Red-Green-Refactor" e é a essência da prática de Desenvolvimento Orientado a Testes.

O TDD (Test-Driven Development) é uma técnica de programação que inverte a ordem tradicional: os testes são escritos antes do código de produção. O ciclo básico é:

  1. Escreva um teste automatizado que descreve o comportamento desejado da nova funcionalidade.

  2. Execute o teste – ele deve falhar (fase Red), comprovando que a funcionalidade ainda não existe.

  3. Implemente o código mínimo necessário para fazer o teste passar (fase Green).

  4. Refatore o código para melhorar a estrutura, mantendo todos os testes verdes (fase Refactor).

Essa sequência é exatamente a descrita na alternativa E: Escrita do teste → Implementação mínima → Refatoração.

  1. 1Escreve o teste
  2. 2Teste falha (Red)
  3. 3Código mínimo
  4. 4Teste passa (Green)
  5. 5Refatora
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Inverte a ordem, começando pela refatoração, o que não faz sentido, pois não há código para refatorar antes do teste e da implementação.

Alternativa B — ❌ Incorreta

Coloca a implementação mínima antes da escrita do teste, contrariando o princípio fundamental do TDD de que o teste deve ser escrito primeiro.

Alternativa C — ❌ Incorreta

Além de implementar antes do teste, ainda coloca a refatoração antes da escrita do teste, o que é logicamente impossível.

Alternativa D — ❌ Incorreta

A refatoração não ocorre antes da implementação; ela é a última etapa do ciclo.

Alternativa E — ✅ Correta ⟵ GABARITO

Reflete fielmente o ciclo Red-Green-Refactor: teste → código mínimo → refatoração.

PEGA ESSA DICA!

Para lembrar a sequência do TDD, associe ao semáforo: Red (teste falha), Green (código passa), Refactor (melhora o código). Essa é a ordem imutável.

Gabarito: letra E

Link permanente: /questoes/qg484484