O que é Desenvolvimento orientado a comportamento
Desenvolvimento baseado em especificações de comportamento
BDD (Behavior-Driven Development)
BDD é uma metodologia de desenvolvimento de software que combina TDD com descrições de comportamento do sistema em linguagem compreensível para o negócio.
Sintaxe Given/When/Then
| Palavra-chave | Propósito | Exemplo | |---------------|-----------|---------| | Given | Estado inicial | Dado um usuário autenticado | | When | Ação | Quando ele clica em "Comprar" | | Then | Resultado esperado | Então item é adicionado ao carrinho | | And | Condições adicionais | E notificação é exibida |
Exemplo de Cenário (Gherkin)
Feature: Carrinho de Compras
Scenario: Adicionar item ao carrinho
Given usuário está na página do produto
And item está em estoque
When usuário clica "Adicionar ao Carrinho"
Then item aparece no carrinho
And contador do carrinho aumenta em 1
BDD vs TDD
| Aspecto | TDD | BDD | |---------|-----|-----| | Foco | Código e unidades | Comportamento do sistema | | Linguagem | Técnica | Linguagem de negócio | | Participantes | Desenvolvedores | Equipe + negócio | | Documentação | Testes como código | Documentação viva |
Ferramentas Populares
- Cucumber — Ruby, Java, JS
- SpecFlow — .NET
- Behave — Python
- Jest + Cucumber — JavaScript
- Behat — PHP