Sobes.tech
Junior

O que é BDD (Desenvolvimento Orientado a Comportamento)?

sobes.tech IA

Resposta da IA

O BDD é uma metodologia de desenvolvimento de software que se foca na compreensão conjunta dos requisitos e do comportamento do sistema por todos os membros da equipa (desenvolvedores, testadores, analistas de negócio). Evoluiu a partir do TDD (Desenvolvimento Orientado por Testes).

Principais características do BDD:

  • Participação conjunta: Envolve todas as partes interessadas no processo de definição de funcionalidades.
  • Língua natural: Utiliza uma linguagem compreensível e não técnica (frequentemente Gherkin) para descrever o comportamento do sistema.
  • Exemplos: Define o comportamento através de exemplos concretos e reais de uso.
  • Automatização: Os cenários de comportamento podem ser automatizados e utilizados como documentação executável e testes de regressão.

Os cenários de BDD geralmente são descritos no formato Given-When-Then:

  • Dado: Descreve o estado inicial do sistema.
  • Quando: Descreve a ação realizada pelo utilizador ou sistema.
  • Então: Descreve o comportamento esperado ou o resultado dessa ação.

Exemplo de cenário BDD usando Gherkin:

# Funcionalidade: Pesquisa de produto
# O utilizador deve poder encontrar produtos pelo nome.

# Cenário: Pesquisa bem-sucedida de um produto existente
Dado que o utilizador está na página principal da loja online
Quando o utilizador insere "Livro" no campo de pesquisa
E clica no botão "Pesquisar"
Então a página exibe uma lista de produtos que contêm "Livro" no nome
E o número de produtos encontrados é maior que zero

Ferramentas utilizadas em BDD:

Vantagens do BDD:

  • Melhor compreensão dos requisitos.
  • Redução do número de erros devido a requisitos pouco claros ou contraditórios.
  • Interação mais eficaz entre as equipas.
  • Documentação executável.
  • Testes automatizados mais estáveis e fáceis de manter.