Pular para o conteúdo principal

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

Engenharia de SoftwareTeste de Software
Código
fg089969
Banca
FGV
Órgão
Prefeitura de Macaé - RJ
Ano
2024
Nível
Superior
Cargo
Analista Previdenciário - Especialidade: Analista de Sistemas
Test-Driven Development (TDD) é uma abordagem de desenvolvimento de software onde os testes são escritos antes do código que implementa a funcionalidade. No contexto da prática de Test-Driven Development (TDD), assinale a opção que descreve corretamente a sequência de etapas que um desenvolvedor deve seguir.
  1. AEscrever o código de produção, criar os testes automatizados e depois refatorar o código.
  2. BCriar os testes automatizados, escrever o código de produção para passar nos testes e depois refatorar o código.
  3. CRefatorar o código existente, escrever novos testes automatizados e depois implementar novas funcionalidades.
  4. DEscrever os casos de teste, refatorar o código existente e depois implementar o código de produção.
  5. EImplementar o código de produção, refatorar o código, e por último, criar os testes automatizados.
Revelar gabarito e comentário

GabaritoB — Criar os testes automatizados, escrever o código de produção para passar nos testes e depois refatorar o código.

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

Test-Driven Development (TDD)

Gabarito: letra B. A sequência correta no TDD é escrever primeiro o teste automatizado (que falha), depois o código de produção mínimo para fazê-lo passar, e por fim refatorar o código — ciclo conhecido como Red-Green-Refactor. Essa é a essência do Desenvolvimento Orientado a Testes.

O TDD é uma prática de metodologias ágeis, onde os testes guiam a implementação. O contexto de apoio confirma: "No TDD, primeiro se escreve um teste que falha e depois se escreve um código para que o teste passe."

Etapa

Descrição

Ordem no TDD

Teste automatizado

Escrever teste que inicialmente falha

Código de produção

Implementar código mínimo para passar no teste

Refatoração

Melhorar o código sem alterar comportamento

  1. 1Escrever teste que falha
  2. 2Código mínimo para passar
  3. 3Refatorar código
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Inverte a ordem: no TDD os testes são escritos antes do código de produção, não depois. Essa sequência (código → teste → refatoração) é típica do desenvolvimento tradicional, não do TDD.

Alternativa B — ✅ Correta ⟵ GABARITO

Descreve fielmente o ciclo do TDD: teste → código → refatoração. Primeiro escreve-se um teste automatizado (que inicialmente falha), depois implementa-se o código mínimo para passar no teste, e por fim refatora-se para melhorar a qualidade sem alterar o comportamento.

Alternativa C — ❌ Incorreta

Coloca a refatoração antes dos testes e da implementação. No TDD, a refatoração ocorre após o código passar no teste, não antes. Essa ordem contradiz o ciclo Red-Green-Refactor.

Alternativa D — ❌ Incorreta

Também troca a ordem: escrever casos de teste, depois refatorar e só então implementar o código. A refatoração deve vir após a implementação, e a implementação após os testes.

Alternativa E — ❌ Incorreta

Inverte completamente a sequência: implementar o código, refatorar e por último criar os testes. No TDD, os testes são o primeiro passo, não o último.


Gabarito: letra B — a única que descreve corretamente o ciclo do TDD.

Link permanente: /questoes/fg089969