BDD vs Gherkin


Índice

  1. Agradecimentos
  1. BDD (Behavior Driven Development)
  1. Gherkin
  1. Frameworks de teste BDD
  1. Bibliografia


1. Agradecimentos


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:

  1. Desenvolvedores.
  2. QAs.
  3. 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.

“Idealmente, quando Os Três Amigos se encontram durante as “groomings” e as “plannings”, eles deveriam formalizar critérios de aceitação como “features” Gherkin.”

– Andrew Knight

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.


5. Bibliografia

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *