Langage Gherkin : syntaxe, format et exemples

⚡ Résumé intelligent

Gherkin est un langage métier qui décrit le comportement d'un logiciel sans détailler son implémentation. Il utilise les mots-clés Given, When et Then pour définir… Cucumber Scénarios de test en langage clair, servant de documentation vivante et de squelette aux tests BDD automatisés.

  • 📝 En langage clair : Gherkin décrit le comportement de manière à ce que les non-programmeurs puissent lire et écrire des tests.
  • ???? Cucumber: Cucumber lit les fichiers .feature et exécute les étapes Gherkin sous forme de tests.
  • (I.e. Étant donné-Quand-Alors : Étant donné le contexte, lorsqu'une action est déclenchée, alors le résultat est affirmé.
  • 🧱 Mots clés: Chaque scénario est structuré comme suit : Fonctionnalité, Contexte, Scénario, et les conjonctions « Et » et « Mais ».
  • ✅ Meilleure pratique : Conservez chaque scénario indépendant et décrivez le quoi, pas le comment.
  • 🤖 Assistance IA : Les outils d'IA élaborent des scénarios « Étant donné, quand, alors » à partir d'exigences simples.

Langue Gherkin Cucumber

Qu’est-ce que le langage cornichon ?

Cornichon est un langage métier qui vous aide à décrire le comportement métier sans entrer dans les détails d'implémentation. C'est un langage dédié à la définition des tests. Cucumber Ce format utilise un langage clair pour décrire les cas d'utilisation et permet aux utilisateurs de supprimer les détails logiques des tests comportementaux.

Le texte en Gherkin sert à la fois de documentation et de structure à vos tests automatisés. Le format Gherkin est basé sur la grammaire TreeTop, disponible dans plus de 37 langues ; vous pouvez donc écrire du Gherkin dans plus de 37 langues parlées. Le script remplit deux fonctions principales : documenter les scénarios d’utilisation et fournir la base pour l’écriture de tests BDD automatisés.

Pourquoi cornichon ?

En l'absence d'un format commun et clair, les équipes métiers et techniques décrivent les exigences différemment, ce qui engendre des malentendus. Gherkin offre à tous un vocabulaire unique et structuré, fluide et naturel, directement transposable en tests exécutables.

Syntaxe de Gherkin

Gherkin est un langage orienté ligne, tout comme YAML et PythonChaque ligne est appelée une étape et commence par un mot-clé. L'indentation est assurée par des tabulations ou des espaces. Un commentaire peut être ajouté n'importe où, mais doit commencer par le symbole #. L'interpréteur lit chaque ligne après avoir supprimé les mots-clés Gherkin tels que Given, When et Then.

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

Un document Gherkin possède l'extension .feature et est simplement un fichier de test doté d'une extension descriptive. Cucumber lit le document Gherkin et exécute un test pour vérifier que le logiciel se comporte comme décrit par la syntaxe Gherkin.

Termes importants utilisés dans Gherkin

Les principaux mots-clés sont : Caractéristique, Contexte, Scénario, Étant donné, Quand, Alors, Et, Mais, et Plan du scénario. Cucumber Il n'existe pas de règles de dénomination strictes, mais une convention de dénomination claire est utile.

Fonctionnalité

Le fichier doit avoir l'extension .feature, et chaque fichier de fonctionnalités ne doit décrire qu'une seule fonctionnalité. Le mot-clé Feature commence par Fonctionnalité: suivi d'un espace et du nom de la fonctionnalité.

Scénario

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

Présentation

Le mot-clé « Contexte » ajoute du contexte au scénario. Il peut contenir des étapes communes à tous les scénarios ; la différence réside dans le fait que ces étapes s’exécutent avant chaque scénario.

Donné

Le mot-clé Given place le système dans un état connu avant que l'utilisateur n'interagisse avec lui. Il définit la précondition ou le contexte :

Given I am on "/."

Lorsque vous

Le mot-clé When définit l'action effectuée par l'utilisateur :

When I perform "Sign In."

Ensuite

Le mot-clé Then définit le résultat observé après l'action effectuée à l'étape When. Vous ne devez vérifier que les changements notables.

Then I should see "Welcome Tom."

Et mais

Vous pouvez avoir plusieurs étapes « Étant donné », « Quand » ou « Alors ». Les mots clés « Et » et « Mais » ajoutent des étapes supplémentaires pour une meilleure lisibilité.

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

Étant donné que les mots clés « Given », « When », « Then », « And » et « But » sont des étapes de test. L’interpréteur ne signale pas d’erreur si vous les inversez, mais le code sera incohérent ; utilisez donc chaque mot clé conformément à son usage prévu.

Exemples de cornichons

Exemple 1: Une fonctionnalité de connexion pour un site de réseautage 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

Gherkin analyse chaque étape écrite dans le fichier de fonctionnalités, et les étapes du fichier de fonctionnalités doivent correspondre à celles du fichier de définition des étapes.

Exemple 2: Un scénario d'authentification utilisateur avec un arrière-plan.

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

Meilleures pratiques d'utilisation du cornichon

  • Chaque scénario doit être exécuté séparément et indépendamment.
  • Chaque fonctionnalité doit pouvoir être exécutée individuellement.
  • Les informations relatives à chaque étape doivent être affichées indépendamment.
  • Reliez vos scénarios à vos exigences et track quels scénarios correspondent à chaque exigence.
  • Créez des étapes modulaires et faciles à comprendre, et combinez les scénarios courants.
  • Décrivez ce que fait le système, et non comment il le fait.

Avantages du cornichon

  • Gherkin est suffisamment simple pour être compris par des non-programmeurs.
  • Les programmeurs peuvent l'utiliser comme base solide pour démarrer leurs tests.
  • Cela rend les récits des utilisateurs plus faciles à comprendre et cible les exigences de l'entreprise.
  • Les dirigeants d'entreprise et les développeurs peuvent tous deux lire le même scénario.
  • Les cas de test Gherkin relient directement les tests d'acceptation aux tests automatisés.
  • Le style d'écriture facilite la réutilisation du code entre les tests.

Inconvénients du cornichon

  • Cela nécessite un niveau élevé d'engagement et de collaboration de la part des entreprises.
  • Cela peut ne pas fonctionner dans toutes les situations.
  • Des tests mal rédigés peuvent augmenter les coûts de maintenance des tests.

FAQ

Le BDD est une pratique agile où les équipes décrivent le comportement attendu en langage clair avant de coder. Les scénarios Gherkin permettent de formaliser ce comportement afin que les membres des équipes métiers et techniques partagent une compréhension commune.

Gherkin est la syntaxe en langage clair utilisée pour écrire des scénarios. Cucumber est l'un des nombreux outils qui lisent les fichiers .feature Gherkin et exécutent les étapes sur votre application.

Un schéma récapitulatif exécute les mêmes étapes avec plusieurs jeux de données répertoriés dans un tableau d'exemples. Il évite ainsi de dupliquer un scénario pour chaque ensemble de valeurs d'entrée.

Une définition d'étape associe chaque étape Gherkin au code qui l'exécute. Cucumber Il lit une étape, trouve la définition correspondante et exécute cette méthode sur l'application.

Ces trois compères sont un responsable produit, un développeur et un testeur qui examinent ensemble une fonctionnalité. Leur vision combinée permet de générer des scénarios Gherkin plus clairs et plus complets que n'importe quel rôle pris individuellement.

En outre Cucumber, Gherkin est soutenu par SpecFlow pour .NET et Behave pour Python, parmi d'autres frameworks BDD.

Oui. Les assistants IA transforment un scénario utilisateur en ébauches de scénarios « Étant donné-Quand-Alors », suggèrent des cas particuliers et veillent à la cohérence de la formulation, même si un testeur doit les vérifier pour en garantir l'exactitude.

Les outils d'IA lisent les exigences de base et automatisent la première ébauche des étapes structurées « Étant donné-Quand-Alors ». Cela accélère la rédaction, mais les équipes doivent encore affiner la formulation pour qu'elle corresponde aux critères d'acceptation réels.

Résumez cet article avec :