Pular para o conteúdo principal

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

Engenharia de SoftwareDesenvolvimento de Software
Código
fg084711
Banca
FGV
Órgão
EPE
Ano
2024
Nível
Superior
Cargo
Analista de Gestão Corporativa - Tecnologia da Informação (Soluções)
O Desenvolvimento Orientado por Comportamento (BDD) facilita a colaboração entre as partes interessadas e desenvolvedores ao usar uma linguagem comum para descrever o comportamento do sistema.Sobre o BDD, analise as afirmativas a seguir.I. No BDD, os novos comportamentos são adicionados e testados em pequenos ciclos contínuos, sendo assim um método iterativo, mas não incremental.II. No BDD, a documentação é atualizada automaticamente a cada ciclo.III. A prática de escrever testes antes do desenvolvimento do código é um elemento essencial do BDD.Está correto o que se afirma em
  1. AI, apenas.
  2. BII, apenas.
  3. CIII, apenas.
  4. DII e III, apenas.
  5. EI, II e III.
Revelar gabarito e comentário

GabaritoD — II e III, apenas.

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

Behavior-Driven Development (BDD)

Gabarito: letra D. Estão corretas apenas as afirmativas II e III. O BDD é uma metodologia ágil baseada em TDD que utiliza uma linguagem comum (Gherkin) para descrever o comportamento do sistema. É tanto iterativo quanto incremental (diferentemente do que afirma I). A documentação é atualizada automaticamente por meio dos cenários executáveis (II) e a escrita de testes antes do código é essencial (III).

A banca testa o conhecimento sobre as características fundamentais do BDD. A afirmativa I é a pegadinha: o BDD é sim incremental, pois novos comportamentos são adicionados em ciclos, cada um agregando funcionalidade ao sistema.

NÃO CAIA NESSA!

A afirmativa I afirma que BDD é iterativo, mas não incremental – isso é falso. O BDD é ambos: os comportamentos são desenvolvidos em pequenos ciclos (iterativo) e cada ciclo adiciona nova funcionalidade ao sistema (incremental). Cuidado para não confundir com abordagens puramente iterativas, como prototipação descartável.

BDD (Behavior-Driven Development)
  • 1Características
    • Iterativo (ciclos contínuos)
    • Incremental (agrega funcionalidade)
    • Linguagem comum (Gherkin)
    • Especificação executável
  • 2Práticas essenciais
    • Testes antes do código (outside-in)
    • Cenários Given-When-Then
    • Documentação viva
      • Atualizada automaticamente
  • 3Relação com TDD
    • Evolução do TDD
    • Foco no comportamento
LEVEL · soulevel.com.br

Afirmativa I — ❌ Incorreta

"No BDD, os novos comportamentos são adicionados e testados em pequenos ciclos contínuos, sendo assim um método iterativo, mas não incremental."

  • O BDD adota ciclos contínuos (iteração) e também agrega valor incrementalmente (cada novo cenário implementado aumenta a funcionalidade). Portanto, é incorreto afirmar que não é incremental.

Afirmativa II — ✅ Correta

"No BDD, a documentação é atualizada automaticamente a cada ciclo."

  • Os cenários escritos em linguagem Gherkin (Given-When-Then) servem como especificação executável e documentação viva. Ao adicionar novos comportamentos, os cenários são atualizados, refletindo automaticamente o estado atual do sistema.

Afirmativa III — ✅ Correta

"A prática de escrever testes antes do desenvolvimento do código é um elemento essencial do BDD."

  • BDD é uma evolução de TDD; ambos preconizam escrever o teste (cenário) antes de implementar a funcionalidade (outside-in development).

Conclusão: Apenas as afirmativas II e III estão corretas, correspondendo à alternativa D.

Gabarito: letra D.

Link permanente: /questoes/fg084711