Kurzfassung
Gherkin ist die domänenspezifische Sprache zur Formulierung von BDD-Testszenarien. Die Given/When/Then-Struktur macht Testfälle für nicht-technische Stakeholder lesbar und gleichzeitig durch Test-Frameworks ausführbar.
Was ist Gherkin?
Gherkin bietet ein kleines Vokabular – Feature, Scenario, Given, When, Then, And, But – das Softwareverhalten beschreibt, ohne auf Implementierungsdetails zu verweisen. Eine Feature-Datei gruppiert verwandte Szenarien für eine einzelne Funktionalität. Jedes Scenario beschreibt einen spezifischen Fall durch Kontext (Given), Aktion (When) und erwartetes Ergebnis (Then).
Frameworks wie Cucumber, Behave und SpecFlow parsen Gherkin-Dateien und ordnen jeden Schritt einer Step Definition zu – einem Code-Snippet, das die Anwendung steuert. Dies hält die natürlichsprachliche Spezifikation und den ausführbaren Test eng gekoppelt.
Gherkin unterstützt datengetriebenes Testen über Scenario Outlines mit Examples-Tabellen, sodass eine Vorlage gegen mehrere Eingabemengen ausgeführt werden kann.
Warum ist Gherkin relevant?
- Gemeinsame Sprache: Ein einziges Format, das Business-Analysten, QA und Entwickler alle lesen und zu dem alle beitragen
- Ausführbare Spezifikation: Szenarien sind sowohl Dokumentation als auch automatisierte Tests und verhindern Drift
- Breite Framework-Unterstützung: Gherkin wird von Cucumber (JVM, Ruby, JavaScript), Behave (Python), SpecFlow (.NET) und weiteren unterstützt