Linguagem Gherkin: Sintaxe, Formato e Exemplos

⚡ Resumo Inteligente

Gherkin é uma linguagem legível para negócios que descreve o comportamento do software sem detalhar a implementação. Ela usa as palavras-chave Dado, Quando e Então para definir o comportamento. Cucumber Cenários de teste em linguagem simples, servindo como documentação viva e estrutura básica para testes BDD automatizados.

  • 📝 Linguagem Simples: Gherkin descreve o comportamento de forma que pessoas sem conhecimento de programação possam ler e escrever testes.
  • ???? Cucumber: Cucumber Lê arquivos .feature e executa as etapas Gherkin como testes.
  • 🔑 Dado-Quando-Então: Dado o contexto definido, quando uma ação é desencadeada, então o resultado é verificado.
  • 🧱 Palavras-chave: Característica, Contexto, Cenário, E e Mas estruturam cada cenário.
  • ✅ Melhor Prática: Mantenha cada cenário independente e descreva o quê, não como.
  • 🤖 Assistência de IA: As ferramentas de IA elaboram cenários "Dado-Quando-Então" a partir de requisitos simples.

Linguagem Gherkin em Cucumber

O que é a linguagem do pepino?

Pepino É uma linguagem legível para negócios que ajuda a descrever o comportamento de negócios sem entrar em detalhes de implementação. É uma linguagem específica de domínio para definir testes em Cucumber O formato utiliza linguagem simples para descrever casos de uso e permite que os usuários removam detalhes lógicos dos testes comportamentais.

O texto em Gherkin serve como documentação e como esqueleto dos seus testes automatizados. O formato Gherkin é baseado na gramática TreeTop, que existe em mais de 37 idiomas, permitindo escrever Gherkin em mais de 37 línguas faladas. O script tem dois propósitos principais: documentar cenários de usuário e fornecer a base para a escrita de testes BDD automatizados.

Por que pepino?

Sem um formato compartilhado e em linguagem simples, as equipes de negócios e técnicas descrevem os requisitos de maneiras diferentes, o que causa mal-entendidos. O Gherkin oferece a todos um vocabulário único e estruturado que se lê como inglês comum, mas que se relaciona diretamente a testes executáveis.

Sintaxe de pepino

Gherkin é uma linguagem orientada a linhas, assim como YAML e PythonCada linha é chamada de etapa e começa com uma palavra-chave. Tabulações ou espaços são usados ​​para indentação. Um comentário pode ser adicionado em qualquer lugar, mas deve começar com um sinal de #. O interpretador lê cada linha após remover palavras-chave do Gherkin, como Given, When e Then.

Feature: Title of the Scenario
  Given [Preconditions or Initial Context]
  When [Event or Trigger]
  Then [Expected output]

Um documento Gherkin tem a extensão .feature e é simplesmente um arquivo de teste com uma extensão descritiva. Cucumber Lê o documento Gherkin e executa um teste para validar se o software se comporta conforme descrito pela sintaxe Gherkin.

Termos importantes usados ​​em pepino

As principais palavras-chave são: Característica, Contexto, Cenário, Dado, Quando, Então, E, Mas e Descrição do Cenário. Cucumber Não possui regras rígidas para nomenclatura, mas uma convenção de nomenclatura clara ajuda.

Característica

O arquivo deve ter a extensão .feature e cada arquivo de recurso deve descrever apenas um recurso. A palavra-chave Feature começa com Característica: seguido de um espaço e o nome da funcionalidade.

Cenário

Cada arquivo de recurso pode conter vários cenários, e cada cenário começa com Cenário: seguido do nome do cenário.

Contexto

A palavra-chave Background adiciona contexto ao cenário. Ela pode conter etapas comuns a todos os cenários; a diferença é que essas etapas são executadas antes de cada cenário.

Dado

A palavra-chave Given coloca o sistema em um estado conhecido antes que o usuário comece a interagir com ele. Ela define a pré-condição ou o contexto:

Given I am on "/."

Ao

A palavra-chave "When" define a ação realizada pelo usuário:

When I perform "Sign In."

Então

A palavra-chave "Então" define o resultado observado após a ação na etapa "Quando". Você deve verificar apenas as mudanças perceptíveis.

Then I should see "Welcome Tom."

E mas

Você pode ter várias etapas com "Dado", "Quando" ou "Então". As palavras-chave "E" e "Mas" adicionam etapas extras para facilitar a leitura:

And I enter "EmailAddress" with "tomjohn@gmail.com."
But I should see "Welcome Tom."

Dado que, quando, então, e e mas são todos passos de teste. O interpretador não gera um erro se você os trocar, mas o cenário não ficará coerente, então use cada palavra-chave para sua finalidade específica.

Exemplos de pepino

1 exemplo: Uma funcionalidade de login para um site de rede social.

Feature: Login functionality of a social networking site
  Given I am a registered user
  When I enter my username
  And I enter my password
  Then I should be redirected to the home page

O Gherkin analisa cada etapa escrita no arquivo de funcionalidades, e as etapas no arquivo de funcionalidades devem corresponder às etapas no arquivo de definição de etapas.

2 exemplo: Um cenário de autenticação de usuário com um plano de fundo.

Feature: User Authentication

Background:
  Given the user is already registered on the website

Scenario: Successful login
  Given the user is on the login page
  When the user inputs the correct email address
  And the user inputs the correct password
  And the user clicks the Login button
  Then the user should be authenticated
  And the user should be redirected to their dashboard

Melhores Práticas de Utilização do Pepino

  • Cada cenário deve ser executado separadamente e de forma independente.
  • Cada funcionalidade deve ser executável por si só.
  • As informações sobre cada etapa devem ser exibidas separadamente.
  • Conecte seus cenários com seus requisitos e track quais cenários pertencem a cada requisito.
  • Crie etapas modulares e fáceis de entender e combine cenários comuns.
  • Descreva o que o sistema faz, não como ele faz.

Vantagens do pepino

  • O Gherkin é simples o suficiente para que pessoas sem conhecimento de programação o entendam.
  • Os programadores podem usá-lo como uma base sólida para iniciar seus testes.
  • Isso facilita a compreensão das histórias de usuário e atende aos requisitos de negócios.
  • Executivos de negócios e desenvolvedores podem ler o mesmo roteiro.
  • Os casos de teste Gherkin vinculam os testes de aceitação diretamente aos testes automatizados.
  • O estilo de escrita facilita a reutilização do código em diferentes testes.

Desvantagens do pepino

  • Isso exige um alto nível de envolvimento e colaboração empresarial.
  • Pode não funcionar bem em todos os cenários.
  • Testes mal elaborados podem aumentar o custo de manutenção dos testes.

Perguntas Frequentes

BDD é uma prática ágil em que as equipes descrevem o comportamento esperado em linguagem simples antes de codificar. Os cenários Gherkin capturam esse comportamento para que os membros das áreas de negócios e técnicas compartilhem um entendimento comum.

Gherkin é a sintaxe em linguagem simples para escrever cenários. Cucumber é uma das várias ferramentas que leem arquivos .feature do Gherkin e executam as etapas em sua aplicação.

Um esboço de cenário executa as mesmas etapas com vários conjuntos de dados listados em uma tabela de exemplos. Isso evita a duplicação de um cenário para cada conjunto de valores de entrada.

Uma definição de passo mapeia cada passo Gherkin para o código que o executa. Quando Cucumber Ao ler uma etapa, o sistema encontra a definição correspondente e executa esse método na aplicação.

Os três amigos são um dono do produto, um desenvolvedor e um testador que revisam uma funcionalidade juntos. A visão combinada deles produz cenários Gherkin mais claros e completos do que qualquer função individual.

Além de CucumberGherkin é apoiado por SpecFlow para .NET e Behave para Python, entre outras estruturas BDD.

Sim. Os assistentes de IA transformam uma história de usuário em cenários preliminares de "Dado-Quando-Então", sugerem casos extremos e mantêm a consistência da redação, embora um testador deva revisá-los para garantir a precisão.

As ferramentas de IA leem requisitos simples e automatizam o primeiro rascunho de etapas estruturadas do tipo "Dado-Quando-Então". Isso acelera a elaboração do documento, mas as equipes ainda precisam refinar a redação para que ela corresponda aos critérios reais de aceitação.

Resuma esta postagem com: