Pular para o conteúdo principal

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

Engenharia de SoftwareTeste de Software
Código
fg104540
Banca
FGV
Órgão
AL-AM
Ano
2025
Nível
Superior
Cargo
Analista Legislativo - Analista de Sistema
O Analista de Sistemas está revisando a estratégia de testes do projeto e observa a utilização de dois métodos ágeis, TDD e BDD.A principal diferença de foco entre eles reside no fato de que
  1. Ao TDD foca nos Testes de Integração, enquanto o BDD foca nos Testes de Unidade.
  2. Bo TDD foca na validação do sistema através de Testes de Aceitação, enquanto o BDD foca na cobertura de código.
  3. Co TDD usa o framework JUnit 5, e o BDD usa exclusivamente o framework Mockito.
  4. Do TDD é usado apenas em projetos XP, e o BDD, apenas em projetos Scrum.
  5. Eo TDD é uma disciplina de desenvolvimento focada em detalhes técnicos, enquanto o BDD é uma abordagem de comunicação focada em comportamentos de negócio.
Revelar gabarito e comentário

GabaritoE — o TDD é uma disciplina de desenvolvimento focada em detalhes técnicos, enquanto o BDD é uma abordagem de comunicação focada em comportamentos de negócio.

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 vs BDD

Gabarito: letra E. O TDD (Test-Driven Development) é uma prática de desenvolvimento de software que prioriza a escrita de testes unitários antes do código de produção, focando em aspectos técnicos e de design. Já o BDD (Behavior-Driven Development) é uma evolução do TDD que enfatiza a comunicação entre equipes técnicas e de negócio, descrevendo o comportamento esperado do sistema em uma linguagem próxima do natural (ex.: Gherkin). A alternativa E captura corretamente essa diferença de foco.

Alternativa A — ❌ Incorreta

Afirma que o TDD foca em Testes de Integração e o BDD em Testes de Unidade. Na verdade, o TDD foca em testes unitários (cada unidade de código), enquanto o BDD foca em comportamentos de negócio, podendo abranger diferentes níveis de teste (aceitação, integração, etc.).

Alternativa B — ❌ Incorreta

Diz que o TDD foca na validação do sistema através de Testes de Aceitação e o BDD na cobertura de código. O TDD não tem como foco principal testes de aceitação; estes são mais associados ao BDD. O BDD não se limita a cobertura de código; seu objetivo é garantir que o sistema se comporte conforme o esperado pelos stakeholders.

Alternativa C — ❌ Incorreta

Afirma que o TDD usa exclusivamente JUnit 5 e o BDD exclusivamente Mockito. Ambos os frameworks podem ser usados em qualquer abordagem. JUnit é comum em TDD, mas não exclusivo; Mockito é para mocks e não é exclusivo do BDD. Além disso, existem outros frameworks (Cucumber, SpecFlow, etc.) específicos para BDD.

Alternativa D — ❌ Incorreta

Diz que TDD é usado apenas em projetos XP e BDD apenas em projetos Scrum. TDD pode ser aplicado em qualquer metodologia ágil (ou mesmo em não ágeis), e BDD também não está restrito ao Scrum.

Alternativa E — ✅ Correta ⟵ GABARITO

Exata definição: TDD é uma disciplina de desenvolvimento voltada para detalhes técnicos (escrita de testes unitários, refatoração), enquanto BDD é uma abordagem de comunicação focada em comportamentos de negócio, promovendo entendimento compartilhado entre desenvolvedores, testadores e stakeholders.

Link permanente: /questoes/fg104540