Zum Inhalt springen
SDETRole
SDETRole

Glossar · UI-Automatisierung

Gherkin

Auch genannt: Gherkin-Syntax, Given-When-Then, Given/When/Then, Feature-Datei

Definition

Die Klartext-Syntax Given-When-Then, mit der BDD-Szenarien in .feature-Dateien geschrieben werden und die Tools wie Cucumber als automatisierte Tests ausführen.

Gherkin ist eine kleine, strukturierte Sprache, um Softwareverhalten anhand von Beispielen zu beschreiben. Jede Datei hat die Endung .feature und enthält ein Feature, das aus Scenarios besteht; jedes Szenario ist eine Liste von Steps, die mit Given (Kontext), When (Aktion) und Then (erwartetes Ergebnis) beginnen. Tools wie Cucumber ordnen jedem Step eine Step Definition im Code zu, sodass derselbe Text zugleich Dokumentation und automatisierter Test ist.

Beispiel

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   |

Und eine passende Step Definition in Java mit Cucumber:

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

Wichtige Schlüsselwörter

  • And / But setzen den vorherigen Step-Typ fort und verbessern die Lesbarkeit.
  • Background läuft vor jedem Szenario der Datei. Halten Sie ihn kurz.
  • Scenario Outline mit Examples führt das Szenario einmal pro Tabellenzeile aus – datengetriebenes Testen in Gherkin-Form.
  • Tags wie @smoke oder @wip über einem Szenario erlauben es, Teilmengen zur Ausführung auszuwählen.
  • Rule (ab Gherkin 6) gruppiert Szenarien unter der Geschäftsregel, die sie veranschaulichen.

Gute Szenarien schreiben

  • Ein Verhalten pro Szenario. Mehrere When/Then-Paare bedeuten meist zwei Szenarien.
  • Deklarativ, nicht imperativ. „When she requests a password reset“ ist besser als drei Steps über das Tippen in Felder und das Klicken von Buttons.
  • Konkrete Werte. Echte Beispiele („120.00“, „Gold“) decken Missverständnisse auf, die vage Formulierungen („eine große Bestellung“) verbergen.
  • Dritte Person oder einheitliche Persona. Wer „ich“, „der Nutzer“ und benannte Personas mischt, lässt die Step-Bibliothek ausufern.

Tippen Sie, um SDETRole zu durchsuchen.

Volltextsuche mit Pagefind · läuft in Ihrem Browser Suchseite öffnen →