Gurkensprache: Format, Syntax & Gurkentest in Gurke

Inhaltsverzeichnis:

Anonim

Was ist Gurkensprache?

Gurke ist eine für Unternehmen lesbare Sprache, mit der Sie das Geschäftsverhalten beschreiben können, ohne auf Details der Implementierung eingehen zu müssen. Es ist eine domänenspezifische Sprache zum Definieren von Tests im Gurkenformat für Spezifikationen. Zur Beschreibung von Anwendungsfällen wird eine einfache Sprache verwendet, und Benutzer können logische Details aus Verhaltenstests entfernen.

Der Text in Gherkin-Sprache dient als Dokumentation und Grundgerüst Ihrer automatisierten Tests. Das Gurkenformat basiert auf der TreeTop-Grammatik, die in mehr als 37 Sprachen verfügbar ist. Daher können Sie Ihre Essiggurke in mehr als 37 gesprochenen Sprachen schreiben.

Dieses Skript dient hauptsächlich zwei Zwecken:

  • Dokumentiert Benutzerszenarien
  • Schreiben eines automatisierten Tests (BDD)

In diesem Gurken-Tutorial lernen Sie

  • Was ist Gurkensprache?
  • Warum Gurke?
  • Gurkensyntax
  • Wichtige Begriffe, die in Gurke verwendet werden
  • Gurkenbeispiel
  • Best Practices für die Verwendung von Gurke
  • Vorteile von Gurke

Warum Gurke?

Der Bedarf an Essiggurken lässt sich anhand der folgenden Bilder leicht erklären

Vor Gurke

Nach Gurke

Gurkensyntax

Gurke ist eine linienorientierte Sprache wie YAML und Python. Jede Zeile heißt step und beginnt mit dem Schlüsselwort und dem Ende der Terminals mit einem Stopp. Für die Einrückung werden Tabulatoren oder Leerzeichen verwendet.

In diesem Skript kann ein Kommentar an einer beliebigen Stelle hinzugefügt werden, er sollte jedoch mit einem # -Zeichen beginnen. Es las jede Zeile nach dem Entfernen von Ghrekins Schlüsselwörtern wie angegeben, wann, dann usw.

Typische Gurkenschritte sehen aus wie:

Gurkenskripte: Verbindet das menschliche Konzept von Ursache und Wirkung mit dem Softwarekonzept von Eingabe / Prozess / Ausgabe.

Gurkensyntax:

Feature: Titel des SzenariosGegeben [Voraussetzungen oder Ausgangskontext]Wenn [Ereignis oder Auslöser]Dann [Erwartete Ausgabe]

Ein Gherkin-Dokument hat die Erweiterung .feature und einfach nur eine Testdatei mit einer ausgefallenen Erweiterung. Cucumber liest das Gherkin-Dokument und führt einen Test durch, um zu überprüfen, ob sich die Software gemäß der Gherkin-Syntax verhält.

Wichtige Begriffe, die in Gurke verwendet werden

  • Merkmal
  • Hintergrund
  • Szenario
  • Gegeben
  • Wann
  • Dann
  • Und
  • Aber
  • Beispiele für Szenarioübersichten

Die Namenskonvention wird für den Feature-Namen verwendet. In Cucumber gibt es jedoch keine festgelegten Regeln für Namen.

Merkmal:

Die Datei sollte die Erweiterung .feature haben und jede Feature-Datei sollte nur ein Feature haben. Das Feature-Schlüsselwort befindet sich im Feature: Nach dem Hinzufügen werden ein Leerzeichen und ein Name des Features geschrieben.

Szenario:

Jede Feature-Datei kann mehrere Szenarien enthalten, und jedes Szenario beginnt mit Szenario: gefolgt vom Namen des Szenarios.

Hintergrund:

Mit dem Schlüsselwort "Hintergrund" können Sie dem Szenario einen Kontext hinzufügen. Es kann einige Schritte des Szenarios enthalten, aber der einzige Unterschied besteht darin, dass es vor jedem Szenario ausgeführt werden sollte.

Gegeben:

Die Verwendung des Schlüsselworts "Given" dient dazu, das System in einen vertrauten Zustand zu versetzen, bevor der Benutzer mit dem System interagiert. Sie können jedoch das Schreiben von Benutzerinteraktionen in bestimmten Schritten unterlassen, wenn dies im Schritt "Voraussetzung" angegeben ist.

Syntax:

Gegeben
Gegeben - ein Testschritt, der den Kontext definiertVorausgesetzt, ich bin auf "/".

Wann:

Wenn der Schritt darin besteht, die vom Benutzer ausgeführte Aktion zu definieren.

Syntax:

Wann
A Wann - Ein Testschritt, der die durchgeführte Aktion definiertWenn ich "Anmelden" durchführe.

Dann:

Die Verwendung des Schlüsselworts "then" dient dazu, das Ergebnis nach der Aktion in when-Schritt anzuzeigen. Sie können jedoch nur erkennbare Änderungen überprüfen.

Syntax:

 Dann
Dann - Testschritt, der das 'Ergebnis' definiert.Dann sollte ich "Welcome Tom" sehen.

Und Aber

Sie können mehrere gegeben haben, wann oder dann.

Syntax:

Aber
Ein zusätzlicher Testschritt, der das Ergebnis der Aktion definiert.Aber ich sollte "Willkommen Tom" sehen.
Und - zusätzlicher Testschritt, der die durchgeführte Aktion definiertUnd ich schreibe "EmailAddress" mit " Diese E-Mail-Adresse ist vor Spambots geschützt! JavaScript muss aktiviert werden, damit sie angezeigt werden kann ..."

Gegeben, Wann, Dann und, aber sind Testschritte. Sie können sie austauschbar verwenden. Der Interpreter zeigt keinen Fehler an. Allerdings werden sie beim Lesen sicherlich keinen "Sinn" ergeben.

Wichtige Begriffe, die in Gurke verwendet werden

Gegeben Die Anmeldeseite wird geöffnetWenn ich Benutzername, Passwort eingebe und auf die Schaltfläche Anmelden klickeDann bin ich auf der Homepage

Gurkenbeispiele

Beispiel 1:

Feature: Login-Funktionalität der Social-Networking-Site Facebook.Gegeben: Ich bin ein Facebook-Nutzer.Wann: Ich gebe den Benutzernamen als Benutzernamen ein.Und ich gebe das Passwort als Passwort einDann sollte ich auf die Homepage von Facebook weitergeleitet werden

Das oben erwähnte Szenario hat eine Funktion namens Benutzeranmeldung.

Alle fett geschriebenen Wörter sind Gurken-Schlüsselwörter.

Gherkin analysiert jeden Schritt, der in die Schrittdefinitionsdatei geschrieben ist. Daher sind die Schritte in der Feature-Datei angegeben und die Schrittdefinitionsdatei sollte übereinstimmen.

Beispiel 2:

Feature: Benutzerauthentifizierung Hintergrund:Vorausgesetzt, der Benutzer ist bereits auf der Website registriert. Szenario:Vorausgesetzt, der Benutzer befindet sich auf der AnmeldeseiteWenn der Benutzer die richtige E-Mail-Adresse eingibtUnd der Benutzer gibt das richtige Passwort einUnd der Benutzer klickt auf die Schaltfläche AnmeldenDann sollte der Benutzer authentifiziert werdenUnd der Benutzer sollte zu seinem Dashboard umgeleitet werdenUnd dem Benutzer sollte eine Erfolgsmeldung präsentiert werden

Best Practices für die Verwendung von Gurke

  • Jedes Szenario sollte separat ausgeführt werden
  • Jedes Feature sollte mit ausgeführt werden können
  • Schrittinformationen sollten unabhängig voneinander angezeigt werden
  • Verbinden Sie Ihre Szenarien mit Ihren Anforderungen
  • Behalten Sie den vollständigen Überblick darüber, welche Szenarien in einem Anforderungsdokument enthalten sein sollten
  • Erstellen Sie modulare und leicht verständliche Schritte
  • Versuchen Sie, alle gängigen Szenarien zu kombinieren

Vorteile von Gurke

  • Gurke ist für Nicht-Programmierer einfach genug zu verstehen
  • Programmierer können es als sehr solide Basis verwenden, um ihre Tests zu starten
  • Es macht User Stories leichter verdaulich
  • Das Gurkenskript kann von Führungskräften und Entwicklern leicht verstanden werden
  • Gherkin Testing zielt auf die Geschäftsanforderungen ab
  • Ein erheblicher Teil der Funktionsspezifikationen wird als User Stories geschrieben
  • Sie müssen kein Experte sein, um den kleinen Gherkin-Befehlssatz zu verstehen
  • Gurken-Testfälle verknüpfen Abnahmetests direkt mit automatisierten Tests
  • Schreibstil für Testfälle ist einfacher, Code in anderen Tests wiederzuverwenden

Nachteile von Gurke

  • Es erfordert ein hohes Maß an geschäftlichem Engagement und Zusammenarbeit
  • Funktioniert möglicherweise nicht in allen Szenarien
  • Schlecht geschriebene Tests können die Kosten für die Testwartung leicht erhöhen

Zusammenfassung:

  • Gurke ist das Format für Gurkenspezifikationen
  • Gurke ist eine linienorientierte Sprache wie YAML und Python
  • Gherkin Scripts verbindet das menschliche Konzept von Ursache und Wirkung mit dem Softwarekonzept von Input / Prozess und Output
  • Feature, Hintergrund, Szenario, Gegeben, Wann, Dann Und Aber werden in Gurke wichtig verwendet
  • In Gherkin sollte jedes Szenario separat ausgeführt werden
  • Der größte Vorteil von Gherkin ist für Nicht-Programmierer so einfach zu verstehen
  • Der Gurkentest funktioniert möglicherweise nicht in allen Szenarien