Pular para o conteúdo principal

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

Engenharia de SoftwareTeste de Software
Código
qg130274
Banca
FADURPE
Órgão
UFRPE
Ano
2024
Nível
Médio
Cargo
Técnico de Tecnologia da Informação / Área Sistema
No contexto de Test-Driven Development (TDD), assinale a alternativa correta sobre o conceito de baby steps (passos de bebê).
  1. AO uso de valores pequenos como parâmetros das funções nos testes de unidade.
  2. BO crescimento gradual dos valores dos parâmetros dos testes de unidade, variando do limite inferior até o limite superior de cada tipo de dados até o teste detectar uma falha.
  3. CA ideia de sempre tomar o passo mais simples que resolva o problema naquele momento e faça o teste passar.
  4. DEscrever todos os testes de uma vez e depois implementar gradualmente todo o código de produção necessário.
  5. EDefinir inicialmente sprints pequenas que aumentam de tempo à medida que mais testes de unidade vão sendo escritos.
Revelar gabarito e comentário

GabaritoC — A ideia de sempre tomar o passo mais simples que resolva o problema naquele momento e faça o teste passar.

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) e o conceito de baby steps

A questão aborda um dos princípios fundamentais do TDD: a prática de dar passos de bebê (baby steps). No TDD, o ciclo é: escrever um teste que falha → fazer o teste passar com o código mais simples possível → refatorar. O conceito de baby steps está diretamente ligado à segunda etapa: ao implementar o código de produção, o desenvolvedor deve escrever apenas o suficiente para que o teste atual passe, sem antecipar funcionalidades futuras. Isso mantém o foco, reduz riscos e garante que cada incremento seja validado imediatamente.

Alternativa

Descrição

Correta?

A

Valores pequenos como parâmetros nos testes

B

Crescimento gradual de parâmetros (teste de limites)

C

Passo mais simples que resolva o problema e faça o teste passar

D

Escrever todos os testes de uma vez e depois implementar

E

Sprints pequenas que aumentam com mais testes

Alternativa A — ❌ Incorreta

O erro está em restringir baby steps a "valores pequenos como parâmetros". O conceito não é sobre valores numéricos, mas sobre a simplicidade e minimalidade da implementação para passar o teste. Parâmetros pequenos podem até ser consequência, mas não definem a prática.

Alternativa B — ❌ Incorreta

Descreve uma técnica de teste de limites (boundary value analysis), que é uma estratégia de projeto de casos de teste, não o conceito de baby steps. Baby steps não se referem ao crescimento gradual de valores de parâmetros, mas à implementação incremental e mínima para satisfazer o teste atual.

Alternativa C — ✅ Correta

Esta alternativa captura com precisão a essência dos baby steps: "a ideia de sempre tomar o passo mais simples que resolva o problema naquele momento e faça o teste passar". É exatamente o que o TDD prega: escrever o código de produção mais simples que faça o teste recém-criado passar, sem se preocupar com cenários futuros. Isso reduz a complexidade e mantém o ciclo rápido.

Alternativa D — ❌ Incorreta

Descreve uma abordagem contrária ao TDD. No TDD, os testes são escritos um de cada vez, e o código de produção é implementado gradualmente para cada teste. Escrever todos os testes de uma vez e depois implementar todo o código de produção viola o ciclo iterativo e a filosofia de baby steps.

Alternativa E — ❌ Incorreta

Mistura conceitos de metodologias ágeis (sprints) com TDD. Baby steps não têm relação com a duração de sprints; é uma prática técnica dentro do ciclo de TDD, independente do framework de gerenciamento de projeto.

PEGA ESSA DICA!

Baby steps é um dos pilares do TDD. Lembre-se do mantra: "faça o teste passar da forma mais simples possível". Não antecipe código, não pense em todos os cenários — resolva apenas o teste atual. Isso acelera o feedback e mantém o design enxuto.

Gabarito: letra C

Link permanente: /questoes/qg130274