TDD, BDD e Gherkin

Português

✅ 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

Mostrar mais