Gherkin : Le langage qui parle à tous

Gherkin est un langage simple et compréhensible utilisé pour décrire les comportements attendus d'une application. Il facilite la collaboration entre les équipes en offrant un langage commun pour définir les critères d'acceptation. En s'intégrant au développement piloté par les comportements (BDD), Gherkin permet d'automatiser les tests et d'améliorer la qualité du logiciel.

By Aymane

9/22/20243 min read

Qu'est-ce que Gherkin ?

Gherkin est un langage simple et lisible, conçu pour décrire les comportements attendus d'une application logicielle. Il s'inscrit dans le cadre du développement piloté par les comportements (BDD), une approche qui met l'accent sur la collaboration entre les équipes techniques et les métiers.

Pourquoi Gherkin ?

- Un langage commun : Gherkin utilise un vocabulaire simple et proche du langage naturel, ce qui le rend accessible à tous les membres de l'équipe, qu'ils soient développeurs, testeurs, product owners ou business analysts.

- Des spécifications exécutables : Les scénarios écrits en Gherkin ne sont pas de simples documents, mais des tests automatisés. Cela permet de vérifier en continu que l'application se comporte comme prévu.

- Une meilleure collaboration : En utilisant un langage commun et des exemples concrets, Gherkin favorise la compréhension mutuelle entre les différents acteurs du projet.

- Une documentation vivante : Les scénarios Gherkin servent à la fois de documentation et de tests. Ils évoluent au fil du développement de l'application, garantissant ainsi que la documentation est toujours à jour.

Comment fonctionne Gherkin ?

Gherkin utilise une syntaxe simple basée sur des mots-clés comme :

- Fonctionnalité : Définir une nouvelle fonctionnalité.

- Scénario : Décrire un scénario d'utilisation spécifique.

- Étant donné, Quand, Alors : Structurer un scénario en trois parties : l'état initial, l'événement déclencheur et le résultat attendu.

Exemple :

Scénario: Un utilisateur se connecte avec succès

Étant donné que je suis sur la page de connexion

Quand je saisis "mon_email@exemple.com" dans le champ email

Et je saisis "mon_mot_de_passe" dans le champ mot de passe

Et je clique sur le bouton "Se connecter"

Alors je suis redirigé vers la page d'accueil

Comme on peut voir, Gherkin utilise des mots spécifique afin de décrire différentes étapes : 

  • Étant donné (Given) : Ce mot-clé sert à établir le contexte initial d'un scénario. Il décrit l'état du système avant que l'action ne soit entreprise. Par exemple : "Étant donné que je suis connecté à mon compte".

  • Quand (When) : "Quand" introduit l'action ou l'événement qui va déclencher un changement dans le système. C'est le point de départ de l'interaction avec le système. Par exemple : "Quand je clique sur le bouton 'Soumettre'".

  • ET : Ce mot-clé permet d'ajouter des conditions supplémentaires au contexte ou à l'action. Il sert à préciser ou à combiner des éléments. Par exemple : "ET que j'ai rempli tous les champs obligatoires".

  • Alors (Then) : "Alors" indique le résultat attendu après l'exécution de l'action. C'est la vérification de la condition de succès du scénario. Par exemple : "Alors je suis redirigé vers la page de confirmation".

Pourquoi utiliser cette structure ?

  • Lisibilité: Cette structure, inspirée du langage naturel, rend les scénarios de tests faciles à comprendre par tous les membres de l'équipe, y compris les développeurs, les testeurs et les métiers.

  • Clarté: En séparant clairement le contexte, l'action et le résultat attendu, on facilite l'identification des causes et des effets.

  • Maintenabilité: Les scénarios Gherkin sont plus faciles à maintenir et à mettre à jour, car la structure est bien définie et les modifications sont localisées.

  • Collaboration: Gherkin favorise la collaboration entre les équipes techniques et les équipes métiers, car les scénarios sont rédigés dans un langage commun.

  • Automatisation: Les scénarios Gherkin peuvent être facilement automatisés, ce qui permet d'exécuter les tests de manière répétitive et de gagner en efficacité.

Gherkin et le BDD

Gherkin est au cœur du BDD. Il permet de :

- Définir les critères d'acceptation : Les scénarios Gherkin précisent exactement ce que doit faire l'application.

- Favoriser la communication : Les équipes techniques et métiers peuvent discuter des fonctionnalités de l'application en utilisant un langage commun.

- Automatiser les tests : Les scénarios Gherkin peuvent être exécutés automatiquement pour vérifier que l'application fonctionne comme prévu.

En Résumé 

Gherkin est un outil puissant qui permet d'améliorer la qualité des logiciels, de renforcer la collaboration entre les équipes et de garantir que les développements répondent aux besoins des utilisateurs.