Índice
1. Agradecimentos
- Esse guia foi feito com base no curso “Behavior Driven Python with pytest-bdd” por Andrew Knight.
- Curso disponível na “Testing Automation University”.
2. BDD (Behavior Driven Development)
BDD (Desenvolvimento Orientado a Comportamento) é um processo de desenvolvimento de software ágil.
BDD encoraja melhor colaboração entre os três amigos:
- Desenvolvedores.
- QAs.
- POs (Product Owners) ou BAs (Business Analysts).
Os três amigos têm que estar na mesma página para que a funcionalidade seja descrita, desenvolvida e testada da mesma forma.
O que deveria ser realizado pelos três amigos fazendo reuniões é descrito na citação abaixo.
O que irá trazer valor para o usuário é como a funcionalidade sendo desenvolvida se comporta.
Comportamento (“feature function”) = Um cenário de entradas, ações e saídas.
Um produto ou funcionalidade exibe incontáveis comportamentos.
3. Gherkin
Gherkin é uma linguagem de especificação de testes, não uma linguagem de programação.
Utiliza um conjunto de “keywords” especiais para dar significado e estrutura para especificações executáveis.
A estrutura de um arquivo gherkin consiste em descrever a funcionalidade sendo testada, os cenários que serão testados e suas etapas.
Para mais informações de como o gherkin funciona vá para:
https://cucumber.io/docs/gherkin/reference/
4. Frameworks de teste BDD
Baseando-se nos textos das etapas gherkin os frameworks de teste BDD colam cada uma dessas etapas à linguagem de programação sendo utilizada para que os frameworks de teste BDD consigam executar todos os cenários como scripts.
Lista de alguns frameworks de teste BDD python:
- Behave (Similar ao cucumber).
- Radish (Mais amigável para testagem programática).
- Lettuce (Similar ao cucumber, mas a comunidade não é mais tão ativa).
- Pytest-bdd (Plugin para o pytest).
Fim.