Gherkin Language: Format, Syntaxe & Test de cornichon au concombre

Table des matières:

Anonim

Qu'est-ce que la langue Gherkin?

Gherkin est un langage lisible en entreprise qui vous aide à décrire le comportement de l'entreprise sans entrer dans les détails de la mise en œuvre. C'est un langage spécifique au domaine pour définir des tests au format Cucumber pour les spécifications. Il utilise un langage simple pour décrire les cas d'utilisation et permet aux utilisateurs de supprimer les détails logiques des tests de comportement.

Le texte en langage Gherkin sert de documentation et de squelette de vos tests automatisés. Le format Gherkin est basé sur TreeTop Grammar qui existe dans plus de 37 langues. Par conséquent, vous pouvez écrire votre cornichon dans plus de 37 langues parlées.

Ce script a deux objectifs principaux:

  • Documents scénarios utilisateur
  • Rédaction d'un test automatisé (BDD)

Dans ce tutoriel Gherkin, vous apprendrez

  • Qu'est-ce que la langue Gherkin?
  • Pourquoi Gherkin?
  • Syntaxe de Gherkin
  • Termes importants utilisés dans Gherkin
  • Exemple de cornichon
  • Meilleures pratiques d'utilisation de Gherkin
  • Avantages de Gherkin

Pourquoi Gherkin?

Le besoin de Gherkin peut être facilement expliqué par les images suivantes

Avant Gherkin

Après Gherkin

Syntaxe de Gherkin

Gherkin est un langage orienté ligne, tout comme YAML et Python. Chaque ligne appelée step et commence par mot-clé et fin des bornes par un stop. Une tabulation ou un espace sont utilisés pour l'indentation.

Dans ce script, un commentaire peut être ajouté où vous le souhaitez, mais il doit commencer par le signe #. Il lit chaque ligne après avoir supprimé les mots-clés de Ghrekin tels que donnés, quand, alors, etc.

Les étapes typiques de Gherkin ressemblent à:

Gherkin Scripts: relie le concept humain de cause à effet au concept logiciel d'entrée / processus / sortie.

Syntaxe de Gherkin:

Fonctionnalité: titre du scénarioÉtant donné [Conditions préalables ou contexte initial]Quand [Événement ou déclencheur]Puis [Sortie attendue]

Un document Gherkin a une extension .feature et simplement un fichier de test avec une extension sophistiquée. Cucumber lit le document Gherkin et exécute un test pour valider que le logiciel se comporte selon la syntaxe Gherkin.

Termes importants utilisés dans Gherkin

  • Fonctionnalité
  • Fond
  • Scénario
  • Donné
  • Lorsque
  • Puis
  • Et
  • Mais
  • Exemples de plan de scénario

La convention de dénomination est utilisée pour le nom de la fonction. Cependant, il n'y a pas de règles définies dans Cucumber concernant les noms.

Fonctionnalité:

Le fichier doit avoir l'extension .feature et chaque fichier de fonctionnalité ne doit avoir qu'une seule fonctionnalité. Le mot-clé de fonctionnalité étant avec la fonctionnalité: et après cet ajout, un espace et le nom de la fonctionnalité seront écrits.

Scénario:

Chaque fichier de fonctionnalités peut avoir plusieurs scénarios et chaque scénario commence par Scénario: suivi du nom du scénario.

Fond:

Le mot-clé d'arrière-plan vous aide à ajouter du contexte au scénario. Il peut contenir certaines étapes du scénario, mais la seule différence est qu'il doit être exécuté avant chaque scénario.

Donné:

L'utilisation du mot-clé Given consiste à mettre le système dans un état familier avant que l'utilisateur ne commence à interagir avec le système. Cependant, vous pouvez omettre d'écrire les interactions utilisateur dans les étapes données si elles sont données dans l'étape "Condition préalable".

Syntaxe:

Donné
Étant donné - une étape de test qui définit le 'contexteÉtant donné que je suis sur "/".

Lorsque:

Lorsque l'étape consiste à définir l'action effectuée par l'utilisateur.

Syntaxe:

Lorsque
A Quand - une étape de test qui définit `` l'action '' effectuéeLorsque j'effectue «Connexion».

Puis:

L'utilisation du mot-clé «alors» permet de voir le résultat après l'action à l'étape quand. Cependant, vous ne pouvez vérifier que les modifications notables.

Syntaxe:

 Puis
Ensuite - étape de test qui définit le «résultat».Ensuite, je devrais voir "Welcome Tom".

Et mais

Vous pouvez avoir plusieurs données quand ou alors.

Syntaxe:

Mais
A Mais - étape de test supplémentaire qui définit le «résultat» de «l'action».Mais je devrais voir "Welcome Tom".
Et - étape de test supplémentaire qui définit `` l'action '' effectuéeEt j'écris "EmailAddress" avec " Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser…"

Étant donné, quand, alors et, mais sont des étapes de test. Vous pouvez les utiliser de manière interchangeable. L'interpréteur n'affiche aucune erreur. Cependant, ils n'auront sûrement aucun «sens» lorsqu'ils seront lus.

Termes importants utilisés dans Gherkin

Étant donné La page de connexion s'ouvreLorsque je saisis mon nom d'utilisateur, mon mot de passe et clique sur le bouton ConnexionAlors je suis sur la page d'accueil

Exemples de cornichons

Exemple 1:

Fonctionnalité: fonctionnalité de connexion du site de réseautage social Facebook.Donné: Je suis un utilisateur de Facebook.Quand: j'entre le nom d'utilisateur comme nom d'utilisateur.Et j'entre le mot de passe comme mot de passeEnsuite, je devrais être redirigé vers la page d'accueil de Facebook

Le scénario mentionné ci-dessus est celui d'une fonctionnalité appelée connexion utilisateur.

Tous les mots écrits en gras sont des mots-clés Gherkin.

Gherkin analysera chaque étape écrite dans le fichier de définition d'étape. Par conséquent, les étapes sont indiquées dans le fichier de caractéristiques et le fichier de définition d'étape doit correspondre.

Exemple 2:

Fonctionnalité: Fond d'authentification de l'utilisateur:Étant donné que l'utilisateur est déjà inscrit sur le site Web Scénario:Étant donné que l'utilisateur est sur la page de connexionLorsque l'utilisateur saisit l'adresse e-mail correcteEt l'utilisateur saisit le mot de passe correctEt l'utilisateur clique sur le bouton de connexionEnsuite, l'utilisateur doit être authentifiéEt l'utilisateur doit être redirigé vers son tableau de bordEt l'utilisateur doit recevoir un message de réussite

Meilleures pratiques d'utilisation de Gherkin

  • Chaque scénario doit s'exécuter séparément
  • Chaque fonctionnalité doit pouvoir être exécutée avec
  • Les informations sur les étapes doivent être affichées indépendamment
  • Connectez vos scénarios à vos besoins
  • Gardez une trace complète des scénarios à inclure dans un document d'exigence
  • Créez des étapes modulaires et faciles à comprendre
  • Essayez de combiner tous vos scénarios courants

Avantages de Gherkin

  • Gherkin est assez simple pour que les non-programmeurs comprennent
  • Les programmeurs peuvent l'utiliser comme une base très solide pour démarrer leurs tests
  • Cela rend les User Stories plus faciles à digérer
  • Le script Gherkin peut facilement être compris par les dirigeants d'entreprise et les développeurs
  • Gherkin Testing cible les exigences de l'entreprise
  • Une part importante des spécifications fonctionnelles est rédigée sous forme de user stories
  • Vous n'avez pas besoin d'être un expert pour comprendre le petit jeu de commandes Gherkin
  • Les cas de test Gherkin relient directement les tests d'acceptation aux tests automatisés
  • Le style d'écriture des cas de tests est plus facile à réutiliser le code dans d'autres tests

Inconvénients de Gherkin

  • Cela nécessite un niveau élevé d'engagement commercial et de collaborations
  • Peut ne pas fonctionner correctement dans tous les scénarios
  • Des tests mal rédigés peuvent facilement augmenter les coûts de maintenance des tests

Résumé:

  • Gherkin est le format des spécifications du concombre
  • Gherkin est un langage orienté ligne, tout comme YAML et Python
  • Gherkin Scripts relie le concept humain de cause à effet au concept logiciel d'entrée / processus et de sortie
  • Fonctionnalité, arrière-plan, scénario, donné, quand, alors et mais sont utilisés de manière importante dans Gherkin
  • Dans Gherkin, chaque scénario doit s'exécuter séparément
  • Le plus grand avantage de Gherkin est assez simple pour que les non-programmeurs comprennent
  • Le test Gherkin peut ne pas fonctionner correctement dans tous les types de scénarios