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:
- Cucumber (um dos mais populares para várias linguagens)
- SpecFlow (.NET)
- JBehave (Java)
- Behave (Python)
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.