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 :