← Retour au blogMéthode

Gherkin pour les Product Owners : guide complet 2026

9 juil. 20268 min

Gherkin a la réputation d’être un outil de testeur QA, pas de Product Owner. C’est une erreur qui coûte cher : chaque fois qu’une story part en dev sans critères Gherkin écrits par le PO, c’est le dev ou le testeur qui les invente à sa place — et ils devinent rarement la même chose que vous.

Qu’est-ce que Gherkin, concrètement

Gherkin est un langage structuré, quasi-naturel, utilisé pour décrire le comportement attendu d’une fonctionnalité sous forme de scénarios. Il repose sur trois mots-clés : Given (contexte initial), When (action déclenchante), Then (résultat attendu).

Feature: Connexion utilisateur
  Scenario: Connexion réussie
    Given je suis sur la page de connexion
    When je saisis un email et un mot de passe valides
    Then je suis redirigé vers mon tableau de bord

Ce format n’est pas propre à un framework de test particulier (Cucumber, Behave, SpecFlow l’utilisent tous), mais son intérêt pour un PO n’est pas l’automatisation — c’est la précision. Écrire un scénario Gherkin oblige à expliciter un état, une action et un résultat, alors qu’une phrase libre laisse ces trois éléments implicites.

Pourquoi un PO doit maîtriser Gherkin, pas juste le déléguer

Déléguer l’écriture des critères d’acceptation au testeur ou au dev revient à leur déléguer une partie de la décision produit — parce que définir “ce qui doit se passer quand X” EST une décision produit, pas un détail technique.

Trois raisons concrètes de vous approprier Gherkin :

  • Vous éliminez l’ambiguïté à la source. Le dev n’a plus à interpréter votre intention, il implémente un scénario écrit noir sur blanc.
  • Vous accélérez la recette. Un scénario Gherkin devient directement un cas de test — pour vous en recette manuelle, ou pour l’équipe QA en automatisé.
  • Vous structurez votre propre réflexion. Écrire “Given / When / Then” force à penser à l’état initial et aux cas limites, ce qu’une simple user story omet souvent (voir comment écrire des user stories de qualité avec l’IA pour le lien entre les deux formats).

La syntaxe de base

Une feature Gherkin regroupe plusieurs scénarios liés à une même fonctionnalité :

Feature: [Nom de la fonctionnalité]
  En tant que [rôle]
  Je veux [action]
  Afin de [bénéfice]

  Scenario: [Nom du scénario]
    Given [état initial]
    When [action]
    Then [résultat attendu]
    And [résultat supplémentaire]

Quelques règles utiles :

  • And enchaîne plusieurs conditions du même type sans répéter Given/When/Then
  • But exprime une exception dans une suite de résultats attendus
  • Scenario Outline + Examples permet de factoriser plusieurs variantes d’un même scénario avec des données différentes (utile pour tester plusieurs formats d’email invalides, par exemple)
Scenario Outline: Validation du format email
  Given je suis sur le formulaire d'inscription
  When je saisis "<email>" comme adresse email
  Then je vois le message "<résultat>"

  Examples:
    | email              | résultat                    |
    | test@exemple.com   | Inscription réussie         |
    | test@              | Format d'email invalide     |
    | sans-arobase.com   | Format d'email invalide     |

Les 4 types de scénarios à connaître

Une feature bien couverte ne contient pas que le chemin heureux. Quatre catégories à systématiser :

  1. Scénario nominal — le chemin heureux, le cas le plus fréquent et attendu.
  2. Scénario alternatif — une variante valide mais différente du chemin principal (ex : paiement par virement plutôt que par carte).
  3. Scénario d’erreur — une entrée invalide ou un échec technique (carte refusée, champ obligatoire vide).
  4. Scénario limite — les bords du système : volume de données extrême, valeurs nulles, concurrence entre deux actions simultanées.

Une story qui ne couvre que le scénario nominal transmet une fausse impression de complétude au dev. C’est souvent là que naissent les bugs découverts en recette, jamais avant.

3 exemples de features complètes

Réinitialisation de mot de passe

Feature: Réinitialisation de mot de passe
  Scenario: Demande réussie
    Given j'ai un compte avec l'email "user@exemple.com"
    When je demande une réinitialisation de mot de passe
    Then je reçois un email avec un lien valide 30 minutes

  Scenario: Lien expiré
    Given j'ai reçu un lien de réinitialisation il y a plus de 30 minutes
    When je clique sur ce lien
    Then je vois un message m'invitant à refaire une demande

  Scenario: Email inconnu
    Given aucun compte n'est associé à "inconnu@exemple.com"
    When je demande une réinitialisation pour cet email
    Then je vois un message générique de confirmation
    And aucun email n'est réellement envoyé

Ajout au panier

Feature: Ajout d'un article au panier
  Scenario: Ajout d'un article disponible
    Given un article est en stock
    When je clique sur "Ajouter au panier"
    Then l'article apparaît dans mon panier
    And le compteur du panier s'incrémente

  Scenario: Article en rupture de stock
    Given un article est en rupture de stock
    When je consulte sa fiche produit
    Then le bouton "Ajouter au panier" est désactivé
    And un message "Rupture de stock" est affiché

Export de données

Feature: Export de l'historique de commandes
  Scenario: Export réussi
    Given j'ai au moins une commande dans mon historique
    When je clique sur "Exporter en PDF"
    Then un fichier PDF est généré et téléchargé
    And il contient toutes mes commandes des 12 derniers mois

  Scenario: Aucune commande à exporter
    Given je n'ai aucune commande dans mon historique
    When je clique sur "Exporter en PDF"
    Then le bouton est désactivé
    And une infobulle explique pourquoi

Les erreurs les plus fréquentes

  • Confondre étapes d’implémentation et comportement. “Given la base de données contient un utilisateur” est correct ; “Given la requête SQL retourne un utilisateur” ne l’est pas — Gherkin décrit un comportement observable, pas une implémentation technique.
  • Scénarios trop longs. Plus de 5-6 lignes Given/When/Then, c’est souvent le signe qu’il faut découper en plusieurs scénarios.
  • Oublier les scénarios d’erreur et de limite. Le réflexe naturel est d’écrire uniquement le nominal — c’est justement l’inverse qui évite les bugs en prod.
  • Réutiliser un vocabulaire incohérent d’un scénario à l’autre (“utilisateur” vs “client” vs “membre” pour désigner la même personne) — ça complique l’automatisation des tests et brouille la compréhension.

Génération assistée par IA

Écrire manuellement les 4 types de scénarios pour chaque feature est chronophage — c’est précisément le type de tâche où un agent IA structuré fait gagner du temps sans sacrifier la rigueur. AI Product Copilot génère automatiquement les scénarios nominal, alternatif, erreur et limite à partir d’une description de fonctionnalité en langage naturel, avec export direct vers Jira ou Confluence.

La méthode que je recommande : décrire le besoin, laisser l’agent proposer les 4 types de scénarios, puis relire et ajuster — en particulier les scénarios limites, qui dépendent souvent d’un contexte métier que seul vous connaissez vraiment.

Pour aller plus loin

Le Gherkin est le pont entre une user story et une spec vérifiable — voir comment écrire des user stories de qualité avec l’IA pour la partie amont. Et si vous voulez remonter encore plus tôt, avant l’écriture de la première story, Discovery Agent IA : comment extraire vos besoins produit en 10 minutes explique comment structurer cette étape avec l’IA.

Tester la génération de scénarios Gherkin par IA ? AI Product Copilot transforme une description de fonctionnalité en critères d’acceptation complets en quelques minutes.

SC

Stéphanie Caumont

Product Owner IA · En savoir plus