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.
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