·

10 min

Gherkin Syntax: Given-When-Then richtig schreiben

Roman Kirchmeier - Autemos

Roman Kirchmeier - Autemos

Eine QA-Analystin und ein Fachexperte strukturieren in einem Schweizer Büro ein Gherkin-Szenario

Gherkin Syntax strukturiert fachliche Beispiele mit Schlüsselwörtern wie Feature, Scenario, Given, When und Then. Die offizielle Cucumber-Referenz empfiehlt meist 3 bis 5 Schritte pro Beispiel (Cucumber, 2026). Gute Szenarien benennen Ausgangslage, Verhalten und sichtbares Ergebnis. Sie vermeiden Klickpfade, Selektoren und technische Details. Diese Trennung macht Gherkin für Behavior Driven Development lesbar und für Cucumber Testing verarbeitbar. Ein gültiger Text kann fachlich trotzdem schwach sein. Entscheidend sind eine klare Regel, konkrete Daten und ein Ergebnis, das Nutzer oder angebundene Systeme beobachten können.

Kurz gefasst: Gherkin ordnet Verhaltensbeispiele über Feature, optional Rule, Scenario und Given-When-Then. Cucumber empfiehlt meist 3 bis 5 Schritte je Beispiel (Cucumber, 2026). Scenario Outline wiederholt ein Szenario pro Examples-Zeile. Eine Data Table übergibt Daten an genau einen Schritt.

Abbildung 1: Die Gherkin-Hierarchie vom Feature bis zu den einzelnen Schritten.

Was ist die Gherkin Syntax?

Gherkin ist eine Grammatik, die Klartext so strukturiert, dass Cucumber ihn aus einer `.feature`-Datei verarbeiten kann. Die offizielle Definition lautet: „Gherkin is a set of grammar rules that makes plain text structured enough for Cucumber to understand“ (Cucumber, 2026). Gherkin ist damit eine Notation für Beispiele, keine Programmiersprache.

Eine Datei beginnt mit `Feature:`. Darunter können `Rule`, `Scenario`, `Background` und `Scenario Outline` stehen. Schritte beginnen mit `Given`, `When`, `Then`, `And` oder `But`. Tags nutzen `@`, Tabellen nutzen `|` und Kommentare beginnen auf einer neuen Zeile mit `#`. Pro Datei ist genau ein Feature zulässig (Cucumber, 2026).

Gherkin beschreibt das erwartete Verhalten. Cucumber liest die Grammatik und verbindet Schritte mit ausführbarem Code. Step Definitions übernehmen Zugriffe auf APIs, Browser, Apps oder Datenbanken. Ein `.feature`-Text führt ohne Runner und Implementierungscode keinen Test aus.

Wie sind Feature, Rule und Scenario aufgebaut?

Feature, Rule und Scenario bilden eine Hierarchie vom fachlichen Thema zur einzelnen überprüfbaren Regel. `Rule` kam mit Gherkin 6 hinzu und gruppiert Szenarien, die dieselbe Geschäftsregel zeigen (Cucumber, 2026). `Scenario` und `Example` sind in der Grammatik Synonyme.

Element

Zweck

Häufigkeit

`Feature`

Beschreibt eine Fähigkeit oder ein fachliches Thema

genau 1 pro Datei

`Rule`

Gruppiert Beispiele zu einer Geschäftsregel

optional, mehrere möglich

`Scenario`

Beschreibt ein konkretes Beispiel

mindestens 1 je relevante Regel

`Background`

Setzt gemeinsamen Kontext

höchstens 1 je Feature oder Rule

`Scenario Outline`

Wiederholt eine Vorlage mit Datenzeilen

optional, braucht Examples

Ein kurzes Beispiel zeigt die Struktur:

Ebene

Syntax

Feature

`Feature: Tageslimit für Überweisungen`

Rule

`Rule: Das verbleibende Limit begrenzt jede Überweisung`

Scenario

`Scenario: Überweisung innerhalb des Limits`

Given

`Given das verbleibende Tageslimit beträgt 1.000 CHF`

When

`When der Kunde 250 CHF überweist`

Then

`Then beträgt das verbleibende Tageslimit 750 CHF`

Die Referenz empfiehlt 2 Leerzeichen für Einrückungen. Ein falscher Doppelpunkt nach `Given`, `When` oder `Then` kann Tests ignorieren lassen (Cucumber, 2026).

Was bedeuten Given, When und Then?

Abbildung 2: Given beschreibt den Kontext, When das Ereignis und Then das Ergebnis.

Given beschreibt den Ausgangszustand, When das auslösende Verhalten und Then das beobachtbare Ergebnis. Diese Dreiteilung stammt aus Specification by Example und ist nicht an Cucumber gebunden (Martin Fowler, 2013). Das ISTQB ordnet die Begriffe ebenfalls Vorbedingung, Aktion und erwartetem Ergebnis zu (ISTQB, 2019).

  • `Given` stellt Daten, Rollen oder einen Systemzustand bereit.

  • `When` nennt genau das Ereignis, das Verhalten auslöst.

  • `Then` prüft eine sichtbare Antwort, Nachricht oder Zustandsanzeige.

  • `And` und `But` setzen dieselbe Leselogik fort.

Cucumber berücksichtigt das Schlüsselwort beim Matching einer Step Definition nicht. `Given der Kunde ist angemeldet` und `Then der Kunde ist angemeldet` haben denselben Schritttext und können einen Duplikatfehler auslösen (Cucumber, 2026). Die Schlüsselwörter strukturieren die Bedeutung für Leser, nicht die technische Auswahl der Methode.

Ein gutes `Then` prüft eine Ausgabe an einer beobachtbaren Systemgrenze. Bei einer abgelehnten Überweisung kann das ein Status, ein Buchungseintrag oder eine Nachricht sein.

Wie funktioniert ein Scenario Outline mit Examples?

Ein Scenario Outline ersetzt Platzhalter für jede Datenzeile unter `Examples` und erzeugt daraus einzelne Szenarioausführungen. Der Gherkin-Compiler erstellt pro Zeile ein sogenanntes Pickle (Cucumber Gherkin, 2026). Eine Vorlage mit 2 Datenzeilen führt daher zu 2 separaten Ausführungen.

Teil

Syntax

Vorlage

`Scenario Outline: Überweisung gegen das Tageslimit prüfen`

Given

`Given das verbleibende Tageslimit beträgt <limit> CHF`

When

`When der Kunde <betrag> CHF überweist`

Then

`Then lautet der Status <status>`

Examples Kopf

`limit, betrag, status`

Datenzeile 1

`1000, 250, akzeptiert`

Datenzeile 2

`1000, 1250, abgelehnt`

So wird die Vorlage verarbeitet:

  1. Cucumber liest die Spaltennamen `limit`, `betrag` und `status`.

  2. Der Compiler ersetzt alle Platzhalter durch Werte der ersten Zeile.

  3. Cucumber erzeugt und führt das erste Szenario aus.

  4. Derselbe Ablauf wird für die zweite Zeile wiederholt.

Jeder Platzhalter braucht eine gleichnamige Spalte. Die Kopfzeile zählt nicht als Ausführung. Ein Outline ohne `Examples` ist unvollständig. Kleine Datensätze halten den Bericht lesbar. Mehr zu überprüfbaren Beispielen steht im Leitfaden zu BDD Testing.

Was unterscheidet Examples, Data Tables und Doc Strings?

Abbildung 3: Examples erzeugt Ausführungen, Data Table und Doc String liefern Schrittdaten.

Examples vervielfacht ein Scenario Outline, eine Data Table liefert strukturierte Werte an einen Schritt, und ein Doc String übergibt längeren Text. Diese drei Konstrukte verändern den Test auf verschiedene Weise (Cucumber, 2026).

Konstrukt

Eingabe

Wirkung

Typischer Einsatz

`Examples`

Tabelle unter Scenario Outline

eine Ausführung je Datenzeile

mehrere konkrete Grenzwerte

Data Table

Tabelle direkt unter einem Schritt

letztes Argument für eine Step Definition

mehrere Felder oder Datensätze in einem Schritt

Doc String

Text zwischen dreifachen Anführungszeichen

letztes Textargument für eine Step Definition

JSON, Nachrichtentext oder Dokumentinhalt

Wie schreibt man wartbare Gherkin-Szenarien?

Wartbare Gherkin-Szenarien benennen eine fachliche Regel mit wenigen stabilen Schritten und einem sichtbaren Ergebnis. Cucumber formuliert die Leitlinie direkt: „Your scenarios should describe the intended behaviour of the system, not the implementation“ (Cucumber, 2026).

  1. Klären Sie ein konkretes Beispiel mit Fachseite, Entwicklung und Test.

  2. Schreiben Sie genau die Geschäftsregel auf, die dieses Beispiel belegt.

  3. Begrenzen Sie das Szenario nach Möglichkeit auf 3 bis 5 sinnvolle Schritte.

  4. Verwenden Sie reale Domänenbegriffe und konkrete Werte.

  5. Prüfen Sie im `Then` eine sichtbare Wirkung.

  6. Entfernen Sie Klicks, Selektoren, URLs und Wartezeiten aus dem Fachtext.

  7. Lassen Sie alle beteiligten Rollen die Formulierung lesen.

Die 3-bis-5-Empfehlung ist keine technische Grenze (Cucumber, 2026). Ein Testplan kann Zuständigkeiten, Testebenen und Nachweise ergänzen.

Welche Syntaxfehler treten häufig auf?

Abbildung 4: Sechs kurze Prüfungen halten Gherkin fachlich und wartbar.

Die häufigsten Fehler betreffen Doppelpunkte, fehlende Examples-Spalten, Kommentare und vermischte Sprache. Viele Dateien bestehen den Parser und bleiben fachlich trotzdem schwer wartbar.

  • Ein Doppelpunkt steht nach `Given`, `When` oder `Then`.

  • Eine Datei enthält mehr als ein `Feature`.

  • Ein Scenario Outline hat keinen `Examples`-Block.

  • Ein Platzhalter stimmt nicht mit einer Spaltenüberschrift überein.

  • Ein Kommentar steht am Ende einer Codezeile. Gherkin erlaubt Kommentare nur am Anfang einer neuen Zeile.

  • Ein langer `Background` versteckt relevante Voraussetzungen.

  • Schritte wechseln ohne fachlichen Grund zwischen Deutsch und Englisch.

  • Szenarien enthalten CSS-Selektoren, Klickfolgen oder feste Wartezeiten.

Ein Parser meldet grammatische Fehler. Redaktionelle Fehler brauchen Reviews. Legen Sie für wiederkehrende Fachbegriffe eine einheitliche Form fest und ordnen Sie Step Definitions nach Domäne. Feature-gebundene Step-Dateien erhöhen laut Cucumber das Risiko für doppelte Formulierungen (Cucumber, 2026).

Kann Gherkin auf Deutsch geschrieben werden?

Gherkin unterstützt über 70 Sprachen und aktiviert Deutsch über `# language: de` in der ersten Zeile (Cucumber, 2026). Ohne Sprachheader gilt Englisch. Deutsche Schlüsselwörter umfassen unter anderem `Funktionalität`, `Regel`, `Szenario`, `Angenommen`, `Wenn`, `Dann` und `Beispiele`.

Der Sprachheader lautet `# language: de`. Danach kann das Beispiel deutsche Schlüsselwörter verwenden:

Schlüsselwort

Beispielzeile

Funktionalität

`Funktionalität: Überweisungslimit`

Szenario

`Szenario: Betrag liegt innerhalb des Limits`

Angenommen

`Angenommen das Tageslimit beträgt 1.000 CHF`

Wenn

`Wenn der Kunde 250 CHF überweist`

Dann

`Dann beträgt das verbleibende Limit 750 CHF`

Verwenden Sie die Sprache der fachlichen Prüfer. Testen Sie den gewählten Dialekt mit Ihrer konkreten Cucumber-Implementierung und Version.

Wo endet Gherkin und wo beginnt Autemos?

Gherkin endet bei der strukturierten Spezifikation, Autemos erstellt Tests aus unterstützten Anforderungen oder natürlicher Sprache und stellt sie als visuelle Workflows dar. Die öffentlichen Produktseiten nennen keinen Import von `.feature`-Dateien und keinen Cucumber-Runner. Eine solche Kompatibilität darf aus der Textverarbeitung nicht abgeleitet werden.

Der AI Recorder kann unterstützte Anforderungen in Testartefakte überführen. Prüfen Sie die nötigen Übergaben, Reviews und Nachweise für Ihr System.

Häufig gestellte Fragen

Die folgenden Antworten fassen die zentralen Syntaxentscheidungen eigenständig zusammen.

Was ist die Gherkin Syntax?

Gherkin ist eine Grammatik für strukturierte Verhaltensbeispiele in Klartext. Eine `.feature`-Datei enthält genau ein Feature und darunter Regeln, Szenarien und Schritte. Cucumber kann diese Struktur lesen und mit Step Definitions verbinden (Cucumber, 2026).

Was bedeuten Given, When und Then?

Given beschreibt die Ausgangslage, When das auslösende Verhalten und Then das beobachtbare Ergebnis. `And` und `But` setzen die Leselogik fort. Die Schlüsselwörter helfen Lesern, steuern aber nicht das technische Matching der Step Definitions.

Was unterscheidet Scenario und Scenario Outline?

Ein Scenario beschreibt ein konkretes Beispiel. Ein Scenario Outline enthält Platzhalter und läuft einmal je Zeile unter `Examples`. Eine Vorlage mit 2 Datenzeilen erzeugt 2 Szenarioausführungen (Cucumber Gherkin, 2026).

Was unterscheidet Examples und Data Table?

Examples erzeugt mehrere Ausführungen eines Scenario Outline. Eine Data Table übergibt strukturierte Werte als letztes Argument an genau eine Step Definition. Sie vervielfacht das Szenario nicht.

Kann Gherkin auf Deutsch geschrieben werden?

Ja. `# language: de` in der ersten Zeile aktiviert deutsche Schlüsselwörter. Gherkin dokumentiert über 70 Sprachen; Englisch bleibt ohne Sprachheader der Standard (Cucumber, 2026).

Fazit

Gherkin Syntax funktioniert dann gut, wenn jede Datei eine erkennbare Geschäftsregel mit wenigen konkreten Beispielen beschreibt. Feature, Rule und Scenario geben die Hierarchie vor. Given, When und Then ordnen Kontext, Verhalten und Ergebnis. Scenario Outline wiederholt ausgewählte Datensätze; Data Tables und Doc Strings liefern Eingaben an einzelne Schritte. Syntaxprüfung allein schützt nicht vor technischen Klickpfaden oder unklarer Fachsprache. Reviews durch Fachseite, Entwicklung und Test halten Begriffe konsistent. Autemos kann unterstützte Anforderungen und natürliche Sprache in visuelle Test Workflows überführen, beansprucht öffentlich jedoch keinen Gherkin-Import. Wenn Sie die passende Übergabe für Ihr Testsystem prüfen möchten, besprechen Sie Ihren Anwendungsfall mit uns.

Autemos erleben. In nur 30 Minuten.

Überzeuge dich selbst und erlebe, wie einfach, flexibel und kontrolliert moderne Testautomatisierung heute sein kann.

Social Connect

© 2026 Autemos. Ein Produkt der selementrix GmbH.

Autemos erleben.
In nur 30 Minuten.

Überzeuge dich selbst und erlebe, wie einfach, flexibel und kontrolliert moderne Testautomatisierung heute sein kann.

Social Connect

© 2026 Autemos. Ein Produkt der selementrix GmbH.

Autemos erleben.
In nur 30 Minuten.

Überzeuge dich selbst und erlebe, wie einfach, flexibel und kontrolliert moderne Testautomatisierung heute sein kann.

Social Connect

© 2026 Autemos. Ein Produkt der selementrix GmbH.