Pular para o conteúdo principal

Questão de Engenharia de Software — Teste de Software — CESPE / CEBRASPE 2025

Engenharia de SoftwareTeste de Software
Código
ce195220
Banca
CESPE / CEBRASPE
Órgão
BANRISUL
Ano
2025
Nível
Superior
Cargo
Técnico em Tecnologia da Informação II - Desenvolvimento de Software
No desenvolvimento de software, a prática de TDD (Test-Driven Development) tem como característica principal um fluxo estruturado de criação de código baseado em testes. Se uma equipe adotar os princípios do TDD, então ela deverá iniciar o desenvolvimento de um novo recurso, por meio
  1. Ada execução manual de testes exploratórios antes da implementação do código.
  2. Bda criação de um conjunto de testes automatizados antes da implementação do código, para garantir que ele atenda aos requisitos desejados.
  3. Cda escrita do código-fonte e, após sua implementação, da criação dos testes para verificar sua funcionalidade.
  4. Dda definição de requisitos detalhados e de um planejamento extensivo antes da escrita dos testes.
  5. Eda validação do código mediante revisões de pares antes da criação de qualquer teste automatizado.
Revelar gabarito e comentário

GabaritoB — da criação de um conjunto de testes automatizados antes da implementação do código, para garantir que ele atenda aos requisitos desejados.

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)

Gabarito: letra B. O TDD (Test-Driven Development) é uma prática ágil em que os testes automatizados são escritos antes da implementação do código. O desenvolvedor primeiro cria um teste que falha (vermelho), depois escreve o código mínimo para passar no teste (verde) e, por fim, refatora o código mantendo os testes verdes. Esse ciclo garante que o código atenda aos requisitos desde o início.

O material de apoio descreve claramente: "Primeiramente o desenvolvedor... deve programar um conjunto de testes automatizados para testar o código que ainda não existe" e "Esse conjunto de testes deve ser executado e falhar". A alternativa B captura exatamente essa essência.

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

Alternativa A — ❌ Incorreta

Testes exploratórios manuais não são a base do TDD. O TDD exige testes automatizados, e a execução manual não se encaixa no ciclo rápido e repetitivo.

Alternativa B — ✅ Correta ⟵ GABARITO

"Criação de um conjunto de testes automatizados antes da implementação do código, para garantir que ele atenda aos requisitos desejados." Essa é a definição canônica do TDD: escrever o teste primeiro, depois o código.

Alternativa C — ❌ Incorreta

Descreve o fluxo tradicional (código primeiro, teste depois), que é o oposto do TDD. No TDD, os testes são escritos antes de qualquer código de produção.

Alternativa D — ❌ Incorreta

O TDD não exige planejamento extensivo ou requisitos detalhados previamente. A abordagem ágil valoriza a entrega incremental; os requisitos são refinados junto com os testes.

Alternativa E — ❌ Incorreta

Revisões de pares são importantes, mas não substituem a etapa inicial de escrever testes automatizados. No TDD, o primeiro passo é sempre o teste automatizado.

Conclusão: A alternativa B é a correta, pois reflete o princípio fundamental do TDD: testes primeiro, código depois.

Link permanente: /questoes/ce195220