TDD, BDD e Gherkin
✅ TDD (Test-Driven Development) – Desenvolvimento Orientado por Testes
Definição:
TDD é uma prática de desenvolvimento de software onde os testes são escritos antes do código de produção.
Ciclo TDD (Red-Green-Refactor):
Red – Escreva um teste que falha.
Green – Escreva o código mínimo para passar no teste.
Refactor – Melhore o código mantendo os testes passando.
Benefícios:
Código mais confiável e testável.
Facilita mudanças e manutenção.
Documentação viva através dos testes.
✅ BDD (Behavior-Driven Development) – Desenvolvimento Orientado por Comportamento
Definição:
BDD é uma evolução do TDD que foca no comportamento do sistema a partir da perspectiva do usuário ou negócio.
Características:
Colaboração entre desenvolvedores, QA e área de negócio.
Testes são escritos em uma linguagem próxima da natural (como inglês ou português).
Utiliza estruturas como “Dado – Quando – Então”.
Exemplo de cenário BDD:
gherkin
Copiar
Editar
Cenário: Login com sucesso
Dado que o usuário está na tela de login
Quando ele preenche usuário e senha corretamente
Então ele deve ser redirecionado para a página principal
Ferramentas comuns:
Cucumber, SpecFlow, Behave, JBehave.
✅ Gherkin – Linguagem de Especificação
Definição:
Gherkin é a linguagem usada para escrever os testes BDD. Ela permite descrever comportamentos de forma estruturada e compreensível para todos os envolvidos no projeto.
Palavras-chave principais:
Funcionalidade: – Descreve a funcionalidade testada.
Cenário: – Descreve um caso de uso específico.
Dado (Given) – Estado inicial.
Quando (When) – Ação do usuário.
Então (Then) – Resultado esperado.
E, Mas – Complementos.
Vantagens do Gherkin:
Linguagem clara e acessível.
Ajuda na comunicação entre equipe técnica e não técnica.
Base para automação de testes.
🔁 Relação entre TDD, BDD e Gherkin:
TDD BDD Gherkin
Foca em testes de unidade Foca em comportamento do sistema Linguagem para escrever os cenários B
