Gurke - Übersicht
Um die Softwaretests besser nutzen zu können, machen Unternehmen heutzutage einen Schritt nach vorne. Sie implementieren wichtige Abnahmetestszenarien während der Entwicklung. Dieser Ansatz ist allgemein bekannt alsBehavior Driven Development (BDD).
Behavior Driven Development bietet uns die Möglichkeit, Testskripte sowohl aus Entwickler- als auch aus Kundensicht zu erstellen. Zu Beginn kommen Entwickler, Projektmanager, QAs, Benutzerakzeptanztester und der Product Owner (Aktionär) zusammen und überlegen, welche Testszenarien bestanden werden sollten, um diese Software / Anwendung als erfolgreich zu bezeichnen. Auf diese Weise erhalten sie eine Reihe von Testszenarien. Alle diese Testskripte sind in einfacher englischer Sprache verfasst und dienen daher auch der Dokumentation.
Beispiel
Wenn wir eine Benutzerauthentifizierungsfunktion entwickeln, können im Folgenden einige wichtige Testszenarien aufgeführt werden, die bestanden werden müssen, um sie als Erfolg zu bezeichnen.
Der Benutzer sollte sich mit dem richtigen Benutzernamen und dem richtigen Passwort anmelden können.
Der Benutzer sollte sich nicht mit falschem Benutzernamen und korrektem Passwort anmelden können.
Der Benutzer sollte sich nicht mit dem richtigen Benutzernamen und dem falschen Passwort anmelden können.
Wie es funktioniert
Wenn der Code fertig ist, sind auch Testskripte fertig. Der Code muss die in BDD definierten Testskripte bestehen. Ist dies nicht der Fall, ist ein Code-Refactoring erforderlich. Code wird erst nach erfolgreicher Ausführung definierter Testskripte eingefroren.
Es ist eine sehr einfache Vorstellung, aber was wir brauchen, um dieses Konzept umzusetzen. Die Antwort lautet: Behavior Driven Development (BDD) Framework. Cucumber ist ein solches Open-Source-Tool, das die verhaltensgesteuerte Entwicklung unterstützt. Genauer gesagt kann Cucumber als Testframework definiert werden, das von einfachem englischen Text gesteuert wird. Es dient als Dokumentation, automatisierte Tests und Entwicklungshilfe - alles in einem.
Was macht Gurke? Es kann in den folgenden Schritten beschrieben werden -
Cucumber liest den Code im englischen Klartext (Language Gherkin - wird später in diesem Tutorial vorgestellt) in der Feature-Datei (wird später eingeführt).
Es findet die genaue Übereinstimmung jedes Schritts in der Schrittdefinition (eine Codedatei - Details später im Tutorial).
Der auszuführende Code kann verschiedene Software-Frameworks wie sein Selenium, Ruby on Railsusw. Nicht jedes BDD-Framework-Tool unterstützt jedes Tool.
Dies ist der Grund für die Popularität von Cucumber gegenüber anderen Frameworks wie JBehave, JDave, Easyb, etc.
Cucumber unterstützt über ein Dutzend verschiedene Softwareplattformen wie -
- Ruby on Rails
- Selenium
- PicoContainer
- Frühlingsrahmen
- Watir
Vorteile der Gurke gegenüber anderen Werkzeugen
Cucumber unterstützt verschiedene Sprachen wie Java.net und Ruby.
Es fungiert als Brücke zwischen Geschäfts- und Fachsprache. Wir können dies erreichen, indem wir einen Testfall im Klartext erstellen.
Es ermöglicht das Schreiben des Testskripts ohne Kenntnis von Code und die Einbeziehung von Nicht-Programmierern.
Es dient im Gegensatz zu anderen Tools dem Zweck eines End-to-End-Test-Frameworks.
Aufgrund der einfachen Testskriptarchitektur bietet Cucumber die Wiederverwendbarkeit von Code.