Aller au contenu
SDETRole
SDETRole

Glossaire · Automatisation de l’UI

Gherkin

Également appelé : syntaxe Gherkin, Given-When-Then, Étant donné-Quand-Alors, fichier feature

Définition

La syntaxe en texte brut Given-When-Then utilisée pour écrire des scénarios BDD dans des fichiers .feature, que des outils comme Cucumber exécutent comme tests automatisés.

Gherkin est un petit langage structuré qui décrit le comportement d’un logiciel sous forme d’exemples. Chaque fichier porte l’extension .feature et contient une Feature composée de Scenarios ; chaque scénario est une liste d’étapes commençant par Given (le contexte), When (l’action) et Then (le résultat attendu). Des outils comme Cucumber associent chaque étape à une step definition dans le code : le même texte sert ainsi à la fois de documentation et de test automatisé.

Exemple

Feature: Password reset

  Background:
    Given a registered user "ada@example.com"

  Scenario: Reset link is sent for a known email
    When she requests a password reset for "ada@example.com"
    Then a reset email is sent to "ada@example.com"
    And the link expires after 30 minutes

  Scenario Outline: Weak passwords are rejected
    When she sets her new password to "<password>"
    Then she sees the error "<message>"

    Examples:
      | password | message                       |
      | abc      | Use at least 12 characters    |
      | password | This password is too common   |

Et la step definition correspondante en Java avec Cucumber :

@When("she sets her new password to {string}")
public void setNewPassword(String password) {
    resetPage.setPassword(password);
}

Mots-clés à connaître

  • And / But prolongent le type de l’étape précédente, pour la lisibilité.
  • Background s’exécute avant chaque scénario du fichier. Gardez-le court.
  • Scenario Outline avec Examples exécute le scénario une fois par ligne du tableau : c’est du data-driven testing sous forme Gherkin.
  • Les tags comme @smoke ou @wip placés au-dessus d’un scénario permettent de sélectionner des sous-ensembles à exécuter.
  • Rule (Gherkin 6 et versions ultérieures) regroupe les scénarios sous la règle métier qu’ils illustrent.

Gherkin existe aussi en français (Fonctionnalité, Scénario, Étant donné, Quand, Alors) via l’en-tête # language: fr, mais la plupart des équipes conservent les mots-clés anglais.

Rédiger de bons scénarios

  • Un comportement par scénario. Plusieurs paires When/Then signifient généralement qu’il y a deux scénarios.
  • Déclaratif, pas impératif. « When she requests a password reset » vaut mieux que trois étapes décrivant la saisie dans des champs et des clics sur des boutons.
  • Des valeurs concrètes. Des exemples réels (« 120.00 », « Gold ») révèlent des malentendus que des formulations vagues (« une grosse commande ») masquent.
  • Troisième personne ou persona cohérent. Mélanger « I », « the user » et des personas nommés fait proliférer la bibliothèque d’étapes.

Saisissez un terme pour rechercher sur SDETRole.

Recherche plein texte par Pagefind · s’exécute dans votre navigateur Ouvrir la page de recherche →