Gherkin

O Gherkin é uma linguagem de domínio específico, usada para descrever o comportamento de uma aplicação de maneira simples e legível para humanos.

É amplamente utilizada em práticas de Behavior-Driven Development (BDD) para especificar requisitos e cenários de teste, facilitando a comunicação entre todos os membros da equipa — técnicos e não técnicos.

A linguagem Gherkin destaca-se pela sua simplicidade e por ser escrita numa estrutura padronizada, usando expressões como "Dado" (Given), "Quando" (When) e "Então" (Then) para criar cenários que refletem o comportamento esperado da aplicação.

Principais características do Gherkin

Linguagem natural estruturada:

O Gherkin é projetado para que todos possam entender, mesmo sem um background técnico. Adopta uma sintaxe de frases simples, como “Dado” para descrever o contexto, “Quando” para a ação, e “Então” para o resultado esperado.

Padronização e consistência:

Segue uma estrutura muito específica, que facilita a leitura e compreensão dos cenários, mantendo-os consistentes. A estrutura geralmente segue o formato "Funcionalidade", "Cenário", e depois cada passo do cenário: "Dado", "Quando", "Então", além de "E" e "Mas" para adicionar mais detalhes.

Especificação de cenários de comportamento:

Com o Gherkin, é possível descrever diferentes cenários de utilização do sistema de forma que estes sirvam como requisitos e possam ser convertidos em testes. Estes cenários representam comportamentos esperados e ajudam a garantir que o desenvolvimento atenda aos requisitos.

Suporte multi-lingua:

O Gherkin é projetado para suportar várias línguas, permitindo que equipas de diferentes regiões geográficas possam escrever cenários no seu idioma nativo.

Automação de testes:

O Gherkin é compatível com ferramentas de automação como Cucumber, SpecFlow e Behave, que interpretam os cenários escritos em Gherkin e os mapeiam para scripts de teste automatizados, facilitando a automação e manutenção dos testes ao longo do desenvolvimento.

Exemplo de um cenário em Gherkin

Cenário simples em Gherkin, para uma funcionalidade de login:

Funcionalidade: Login de Utilizador
  Como um utilizador autenticado
  Eu quero fazer login no sistema
  Para aceder às funcionalidades restritas

  Cenário: Login com credenciais válidas
    Dado que o utilizador está na página de login
    Quando o utilizador insere o username "utilizador" e password "senha123"
    E clica no botão de login
    Então o utilizador é redirecionado para a página inicial
    E uma mensagem de boas-vindas é exibida

Principais componentes do Gherkin

  • Funcionalidade: Descreve o objetivo geral de uma funcionalidade para o utilizador ou o negócio.

  • Cenário: Representa um caso de uso específico ou situação que se deseja verificar.

  • Dado: Define o contexto inicial ou o estado do sistema antes da acção.

  • Quando: Descreve a acção que o utilizador ou o sistema realiza.

  • Então: Define o resultado esperado após a acção.

  • E/Mas: São usados para adicionar mais detalhes e passos dentro do contexto de "Dado", "Quando" e "Então".

Em resumo, o Gherkin é uma linguagem orientada a comportamento que permite descrever funcionalidades e cenários de forma clara e organizada.

A sua simplicidade e compatibilidade com ferramentas de automação tornam-no essencial em práticas de BDD, ajudando a transformar requisitos de negócio em especificações que podem ser verificadas e testadas continuamente.

 
Anterior
Anterior

Behavior Driven Development

Próximo
Próximo

IAM vs SSO vs MFA