Idioma do Gherkin: formato, sintaxe e amp; Teste de pepino em pepino

Índice:

Anonim

O que é linguagem Gherkin?

Gherkin é uma linguagem legível para negócios que ajuda você a descrever o comportamento dos negócios sem entrar em detalhes de implementação. É uma linguagem de domínio específico para definir testes no formato Cucumber para especificações. Ele usa uma linguagem simples para descrever os casos de uso e permite que os usuários removam detalhes lógicos dos testes de comportamento.

O texto no idioma do Gherkin atua como documentação e esqueleto de seus testes automatizados. O formato do Gherkin é baseado na Gramática TreeTop, que existe em mais de 37 idiomas. Portanto, você pode escrever seu maxixe em mais de 37 línguas faladas.

Este script serve a dois propósitos principais:

  • Cenários de usuário de documentos
  • Escrevendo um teste automatizado (BDD)

Neste tutorial do Gherkin, você aprenderá

  • O que é linguagem Gherkin?
  • Por que Gherkin?
  • Sintaxe de pepino
  • Termos importantes usados ​​no Gherkin
  • Exemplo de pepino
  • Melhores práticas de uso do Gherkin
  • Vantagens do maxixe

Por que Gherkin?

A necessidade do Gherkin pode ser facilmente explicada pelas seguintes imagens

Antes de pepino

Depois de pepino

Sintaxe de pepino

Gherkin é uma linguagem orientada a linhas, assim como YAML e Python. Cada linha é chamada de passo e começa com a palavra-chave e termina os terminais com uma parada. Tabulação ou espaço são usados ​​para o recuo.

Neste script, um comentário pode ser adicionado em qualquer lugar que você quiser, mas deve começar com um sinal #. Ele lê cada linha após remover as palavras-chave do Ghrekin conforme fornecidas, quando, então, etc.

As etapas típicas do Gherkin se parecem com:

Gherkin Scripts: conecta o conceito humano de causa e efeito ao conceito de entrada / processo / saída do software.

Sintaxe de pepino:

Recurso: Título do cenárioDadas [condições prévias ou contexto inicial]Quando [Evento ou Gatilho]Então [saída esperada]

Um documento Gherkin tem uma extensão .feature e simplesmente um arquivo de teste com uma extensão extravagante. Cucumber lê o documento do Gherkin e executa um teste para validar se o software se comporta de acordo com a sintaxe do Gherkin.

Termos importantes usados ​​no Gherkin

  • Recurso
  • Fundo
  • Cenário
  • Dado
  • Quando
  • Então
  • E
  • Mas
  • Exemplos de esboço de cenário

A convenção de nomenclatura é usada para o nome do recurso. No entanto, não há regras definidas no Cucumber sobre nomes.

Recurso:

O arquivo deve ter a extensão .feature e cada arquivo de recurso deve ter apenas um recurso. A palavra-chave do recurso está com o recurso: e depois disso adicione, um espaço e o nome do recurso serão escritos.

Cenário:

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

Fundo:

A palavra-chave de plano de fundo ajuda a adicionar algum contexto ao cenário. Ele pode conter algumas etapas do cenário, mas a única diferença é que deve ser executado antes de cada cenário.

Dado:

O uso da palavra-chave Dado é colocar o sistema em um estado familiar antes que o usuário comece a interagir com o sistema. No entanto, você pode omitir a gravação de interações do usuário em etapas fornecidas se fornecidas na etapa "Pré-condição".

Sintaxe:

Dado
Dado - uma etapa de teste que define o 'contextoDado que estou em "/."

Quando:

Quando a etapa é definir a ação realizada pelo usuário.

Sintaxe:

Quando
A Quando - uma etapa de teste que define a 'ação' realizadaQuando executo "Sign In".

Então:

O uso da palavra-chave 'then' é para ver o resultado após a ação em uma etapa. No entanto, você só pode verificar as mudanças perceptíveis.

Sintaxe:

 Então
Então - etapa de teste que define o 'resultado'.Então, devo ver "Welcome Tom".

E mas

Você pode ter vários dados quando ou então.

Sintaxe:

Mas
A Mas - etapa de teste adicional que define o resultado da 'ação'.Mas devo ver "Welcome Tom".
E - etapa de teste adicional que define a 'ação' realizadaE escrevo "EmailAddress" com " Este endereço de e-mail está protegido contra spambots. Você precisa de Javascript habilitado para vê-lo ..."

Dado, Quando, Então e, mas são etapas de teste. Você pode usá-los de forma intercambiável. O intérprete não exibe nenhum erro. No entanto, eles certamente não farão nenhum 'sentido' quando lidos.

Termos importantes usados ​​no Gherkin

Dado A página de login está abrindoQuando eu insiro o nome de usuário, senha e clico no botão LoginEntão estou na página inicial

Exemplos de maxixe

Exemplo 1:

Recurso: funcionalidade de login do site de rede social Facebook.Dado: Eu sou um usuário do Facebook.Quando: Eu insiro o nome de usuário como nome de usuário.E eu insiro a senha como a senhaEntão devo ser redirecionado para a página inicial do facebook

O cenário mencionado acima é de um recurso chamado login do usuário.

Todas as palavras escritas em negrito são palavras-chave do Gherkin.

O Gherkin analisará cada etapa escrita no arquivo de definição de etapa. Portanto, as etapas são fornecidas no arquivo de recurso e o arquivo de definição de etapa deve corresponder.

Exemplo 2:

Recurso: Fundo de autenticação do usuário:Dado que o usuário já está cadastrado no site Cenário:Dado que o usuário está na página de loginQuando o usuário insere o endereço de e-mail corretoE o usuário insere a senha corretaE o usuário clica no botão LoginEntão o usuário deve ser autenticadoE o usuário deve ser redirecionado para seu painelE o usuário deve receber uma mensagem de sucesso

Melhores práticas de uso do Gherkin

  • Cada cenário deve ser executado separadamente
  • Cada recurso deve poder ser executado junto
  • As informações das etapas devem ser mostradas de forma independente
  • Conecte seu cenário com seus requisitos
  • Mantenha um controle completo de quais cenários devem ser incluídos em um documento de requisitos
  • Crie etapas modulares e fáceis de entender
  • Tente combinar todos os seus cenários comuns

Vantagens do maxixe

  • Gherkin é simples o suficiente para não-programadores entenderem
  • Os programadores podem usá-lo como uma base muito sólida para iniciar seus testes
  • Isso torna as histórias do usuário mais fáceis de digerir
  • O script Gherkin pode ser facilmente entendido por executivos de negócios e desenvolvedores
  • O Teste Gherkin visa os requisitos de negócios
  • Uma proporção significativa das especificações funcionais é escrita como histórias de usuários
  • Você não precisa ser especialista para entender o pequeno conjunto de comandos do Gherkin
  • Os casos de teste da Gherkin vinculam testes de aceitação diretamente a testes automatizados
  • Estilo de escrever casos de teste é mais fácil de reutilizar código em outros testes

Desvantagens do maxixe

  • Exige um alto nível de engajamento comercial e colaborações
  • Pode não funcionar bem em todos os cenários
  • Testes mal escritos podem facilmente aumentar o custo de manutenção de teste

Resumo:

  • Gherkin é o formato para especificações de pepino
  • Gherkin é uma linguagem orientada a linhas, assim como YAML e Python
  • Gherkin Scripts conecta o conceito humano de causa e efeito ao conceito de software de entrada / processo e saída
  • Recurso, plano de fundo, cenário, dado, quando, então e mas são usados ​​de maneira importante no Gherkin
  • No Gherkin, cada cenário deve ser executado separadamente
  • A maior vantagem do Gherkin é simples o suficiente para que não programadores entendam
  • O teste de pepino pode não funcionar bem em todos os tipos de cenários