Webanwendungen sind für Unternehmen unverzichtbar geworden, die nach erweiterten Möglichkeiten suchen, sich mit ihrer Zielgruppe im digitalen Bereich zu verbinden und diese zu bedienen. Angesichts der Bedeutung von Web-Apps für den Geschäftsbetrieb in diesen Tagen müssen sie unabhängig von der Branche umfassend getestet werden, um sicherzustellen, dass sie High-End-Benutzererlebnisse bieten.
Automatisierungstests beschleunigen den Lebenszyklus der Softwareentwicklung. Darüber hinaus können bei der Übernahme des BDD-Ansatzes (Behavior Driven Development) verschiedene Stakeholder wie Entwickler, QAs und Nicht-Tech-Teams aktiv an dem Projekt zusammenarbeiten.
Die Szenarien basieren auf dem erwarteten Verhalten der Software und es wird getestet, um zu überprüfen, ob es mit diesen Szenarien übereinstimmt.
Bildquelle
Diese Szenarien werden mit einer domänenspezifischen Sprache wie Gurke dokumentiert. In jedem Testszenario werden Konstrukte in natürlicher Sprache verwendet, die kleine englische Phrasen bilden, um das Verhalten und das erwartete Ergebnis einer Anwendung zu beschreiben. Dies geschieht mit einem speziellen Softwaretool wie Cucumber, mit dem in Gherkin geschriebene automatisierte Abnahmetests ausgeführt werden können.
Was ist Cucumber?
Cucumber ist ein Open-Source-Testframework unterstützt Behavior Driven Development zum Automatisierungstest von Webanwendungen. Die Tests werden zunächst in einer einfachen Szenarioform geschrieben, die das erwartete Verhalten des Systems aus Sicht des Benutzers beschreibt.
Gurke wird hauptsächlich für Abnahmetests verwendet und in Ruby geschrieben, während die Tests in Gherkin geschrieben werden. Eine nicht technische und für Menschen lesbare Sprache.
Gurken- und Selentests: Ein kollaborativer Ansatz
Während automatisierte Selentests dem Entwicklungszyklus Genauigkeit und Geschwindigkeit verleihen, bietet Cucumber einen zusätzlichen Vorteil Dies macht es für die nicht-technischen Management-Stakeholder kollaborativer. Cucumber ist für das Testen der Benutzerakzeptanz von großem Vorteil, da die Testszenarien weitgehend vom Verhalten abhängen. Es stärkt das Automatisierungstest.
Das Cucumber Framework
Das Cucumber Framework besteht hauptsächlich aus drei Hauptteilen: Feature File, Schrittdefinitionen und die Testrunner-Datei.
Feature-Datei
Eine eigenständige Einheit oder eine einzelne Funktionalität (z. B. ein Login) für ein Projekt kann als Feature bezeichnet werden. Für jede dieser Funktionen gibt es Szenarien, die mit in Cucumber integriertem Selen getestet werden müssen. Eine Datei, in der Daten zu Features, deren Beschreibungen und den zu testenden Szenarien gespeichert sind, wird als Feature-Datei bezeichnet.
Gurkentests werden in diese Feature-Dateien geschrieben, die mit der Erweiterung „.feature“ gespeichert sind. Eine Feature-Datei kann mit einer Beschreibung versehen werden, um die Dokumentation besser lesbar zu machen.
Beispiel:
Die Anmeldefunktion auf einer Website
Name der Feature-Datei: userLogin .feature
Beschreibung: Der Benutzer muss sich anmelden können, wenn er den richtigen Benutzernamen und das richtige Passwort in die richtigen Felder eingibt. Der Benutzer sollte zur Startseite weitergeleitet werden, wenn der eingegebene Benutzername und das richtige Passwort korrekt sind.
Schlüsselwörter wie GIVEN, WHEN und THEN, die zum Schreiben des Tests in Cucumber verwendet werden, werden als Anmerkungen bezeichnet.
- Der Benutzer GIVEN navigiert zur Anmeldeseite, indem er Firefox
- öffnet WENN der Benutzer das richtige < Benutzername > UND < Passwort Werte
- DANN wird der Benutzer zu t geleitet Die Homepage
Schrittdefinitionen
Nachdem die Features in die Feature-Dateien geschrieben wurden, muss der Code für das zugehörige Szenario ausgeführt werden. Um zu wissen, welcher Codestapel für ein bestimmtes Szenario ausgeführt werden muss, werden die Schrittdefinitionen angezeigt. In einer Schrittdefinitionsdatei werden die Zuordnungsdaten zwischen jedem Schritt eines in der Feature-Datei definierten Szenarios und dem auszuführenden Code gespeichert.
Schrittdefinitionen können sowohl Java- als auch Selenium-Befehle für die zum Zuordnen von a geschriebenen Java-Funktionen verwenden Feature-Datei zum Code.
Beispiel:
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values
read more