bdd framework
BDD (Behavior Driven Development) Framework Tutorial: Entdecken Sie Funktionen und Vorteile des BDD-Frameworks anhand von Beispielen für das Cucumber-Framework
Das BDD-Framework, d. H. Behavior Driven Development, ist ein Softwareentwicklungsansatz, mit dem der Tester / Business Analyst Testfälle in einfacher Textsprache (Englisch) erstellen kann.
Die in den Szenarien verwendete einfache Sprache hilft auch nicht-technischen Teammitgliedern zu verstehen, was im Softwareprojekt vor sich geht. Dies hilft und verbessert die Kommunikation zwischen technischen und nichttechnischen Teams, Managern und Stakeholdern.
Was du lernen wirst:
- Was ist BDD Verhaltensorientierte Entwicklung?
- Gurke - Ein BDD Framework Tool
- Vorteile des BDD Framework
- Fazit
Was ist BDD Verhaltensorientierte Entwicklung?
BDD geht aus dem TDD hervor, dh der testgesteuerten Entwicklung, die es den Benutzern ermöglicht, mit mehreren Testdaten mit minimalem Eingriff in den Softwarecode zu arbeiten, und dadurch die Wiederverwendbarkeit des Codes erhöht, was ein zeitsparender Mechanismus bei der Softwareentwicklung / Testautomatisierung ist .
Durch die Vererbung von TDD verfügt BDD neben all seinen Vorteilen auch über all diese Funktionen.
Dienstprogramm zur Überwachung der CPU-Temperatur und der Lüftergeschwindigkeit
- Testszenarien werden separat in eine andere Datei geschrieben, die als Feature-Datei bezeichnet wird.
- Tests werden geschrieben, indem User Stories und Systemverhalten in einer Laiensprache fokussiert werden.
- Code muss in der Schrittdefinitionsdatei, d. H. Java, Python, anders geschrieben werden.
Empfohlene Lektüre => Wie sind Tester am TBB / BDD-Ansatz beteiligt?
Warum BDD Framework verwenden?
Vor dem BDD-Framework verwendeten alle TDD. TDD funktioniert gut in der Softwareentwicklung, vorausgesetzt, die Stakeholder sind mit dem verwendeten Framework vertraut und ihr technisches Wissen ist ausreichend. Dies ist jedoch möglicherweise nicht immer der Fall.
BDD bietet einen Pfad, der als Brücke dient, um die Lücke zwischen dem technischen und dem nichttechnischen Team zu schließen, da die Testfälle üblicherweise in einfachem Text, d. H. Englisch, geschrieben sind. Der Hauptvorteil von BDD ist der leicht verständliche und klarere Ansatz, der leichter zu verstehen ist.
Wie implementiere ich den BDD-Ansatz?
Testszenarien sollten in Klartext mit einer detaillierten Beschreibung des Tests, des Testens der Anwendung und des für alle verständlichen Anwendungsverhaltens verfasst sein.
In diesem Tutorial konzentrieren wir uns auf Gurke - ein Software-Tool für BDD, das lernen wird, es in seiner Sprache, d. H. Gurke, praktisch umzusetzen.
Gurke - Ein BDD Framework Tool
Cucumber ist ein BDD-Framework-Tool (Behavior Driven Development) zum Schreiben von Testfällen.
Gegeben - Wann - Dann Ansatz
- Gegeben: Ein gegebener Kontext (Voraussetzungen).
- Wann: Einige Aktionen werden ausgeführt (Aktionen).
- Dann: Besonderes Ergebnis / Konsequenz nach dem obigen Schritt (Ergebnisse).
Beispiel-Feature-Datei
Feature : BDD implementation using Cucumber Scenario : Login to G-mail using Cucumber plugin Given User is navigating to G-mail Login Page When User need to enter username as 'Username' and password as 'Password' Then User is successfully navigated to the G-mail Mail Box
Beispiel für eine Schrittdefinitionsdatei
import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; public class Sample { @Given('^User is navigating to G-mail Login Page$') public void user_is_navigating_to_G_mail_Login_Page() throws Throwable { // Write code here that turns the phrase above into concrete actions } @When('^User need to enter username as '((^')*)' and password as '((^')*)'$') public void user_need_to_enter_username_as_and_password_as(String arg1, String arg2) throws Throwable { // Write code here that turns the phrase above into concrete actions } @Then('^User is successfully navigated to the G-mail Mail Box$') public void user_is_successfully_navigated_to_the_G_mail_Mail_Box() throws Throwable { // Write code here that turns the phrase above into concrete actions } }
Cucumber ist ein Test-Plugin, das bei der Implementierung des verhaltensgesteuerten Entwicklungsansatzes hilft.
Empfohlene Lektüre => Top BDD Tools, die Sie kennen sollten
Vorteile des BDD Framework
Nachfolgend sind die verschiedenen Vorteile von BDD aufgeführt.
# 1) Berichterstattung über User Stories
Hybrid Framework mit BDD soll mit verschiedenen Funktionen kombiniert werden. Jede Ressource in der Softwareentwicklungsphase kann zum BDD-Framework beitragen.
Aufgrund seines einfachen Konzepts von Laientext in Form einer Feature-Datei können die Stakeholder technischer Ressourcen die Szenarien mithilfe der User Stories in Gherkin-Sprache schreiben. Die Kompatibilität des Klartextes trägt dazu bei, eine maximale Abdeckung beim Testen zu erzielen.
Feature-Dateien mit Szenarien sind:
- Definierte User Stories aus dem Geschäft.
- Kriterien für die Entwickler, um festzustellen, ob Spezifikationen den Geschäftsanforderungen entsprechen.
- Testszenarien für das Testteam.
- Shell-Abdeckung für einen Automatisierungstester, mit dem sie ihren Code separat in Schrittdefinitionsdateien schreiben können.
- Erklärte Testszenarien für Stakeholder.
Die Klassifizierung der Schrittdefinitionen hilft dem Automatisierungstester, seinen Code unberührt zu lassen, was bei der Pflege der Skripte hilft.
# 2) Klarheit der Szenarien
Die Gurkensprache verwendet einfachen Laientext, der sich auf das Ergebnis des Produkts konzentriert, das mit BDD getestet / entwickelt wird.
Da die Feature-Datei die technische Beschreibung in einer anderen Schrittdefinitionsdatei für Automatisierungstester trennt, hilft sie einer nicht-technischen Person auf intelligente Weise, den automatisierten Test leicht zu verstehen. Aktualisierungen können in einer kleinen Diskussion implementiert werden.
Die Lesbarkeit der Essiggurke garantiert jedem Benutzer die Klarheit der Szenarien, was wiederum beim Aufbau des richtigen Produkts hilft.
# 3) Automatisierung von Testszenarien
Die Gurkenimplementierung in einem BDD-Framework ermöglicht es einem Automatisierungstester, das Scripting einfach mit dem richtigen Ansatz zu initiieren. Die einfache Sprache der Gurkenszenarien hilft ihnen, die Funktionalität besser zu verstehen.
Cucumber ist ein sprachunabhängiges Plugin, da es mit vielen Programmiersprachen kompatibel ist Z.B. Java , Python , usw.
Lesen Sie auch => Automatisierungstests mit dem BDD-Tool
# 4) Wiederverwendung von Code im Framework
Gegeben - Wann - Dann-Ansatz gibt den Testern die Freiheit, dieselben Schritte so oft wie gewünscht in der Feature-Datei auszuführen, was nach und nach Zeit für die Automatisierungstester spart.
Beispiel:
Szenario: Szenario 1
Gegeben Der Nutzer wird zur Google-Startseite navigiert
Wann Der Benutzer suchte in der Suchmaschine nach 'Gurke'
Dann Klicken Sie auf die Schaltfläche Suchen
Und Der Benutzer kann die Suchergebnisse für Gurke im Webbrowser anzeigen
Szenario: Szenario 2
Gegeben Der Nutzer wird zur Google-Startseite navigiert
Wann Der Benutzer suchte in der Suchmaschine nach „Selen“
Dann Klicken Sie auf die Schaltfläche Suchen
Und Der Benutzer kann die Suchergebnisse für Selen im Webbrowser anzeigen
In den beiden oben genannten Szenarien können wir Folgendes schließen: Gegeben', '' Wann ' und ' Dann Schritte sind im zweiten Szenario wiederverwendbar.
# 5) Parametrisierung in Feature-Datei
Ein Benutzer kann die Gurkenschritte in der Feature-Datei parametrisieren, um die Wiederverwendbarkeit in der Datei zu erhalten.
Zum Beispiel, Wenn ein Benutzer an einer Bankanwendung arbeitet, bei der er sich immer wieder bei der Anwendung anmeldet. Solche Schritte können mit einem anderen Datensatz parametrisiert werden und sparen Zeit für den Tester.
Beim Schreiben der Szenarien muss der Benutzer die Schritte der Feature-Datei so definieren, dass der Benutzer die allgemeinen Funktionen problemlos verwenden kann.
# 6) Kontinuierliche Integration - Einfach zu integrieren
Gurke unterstützt auch die Arbeit mit Jenkins. Sie können die Ausführung des Gurkentests in Jenkins ausführen und diese auch in Jenkins-Slave-Maschinen implementieren. Das Gurkenberichts-Plugin bietet Benutzern auch eine erweiterte Ansicht zum Verfolgen von Testszenarien.
Lesenswert => Kontinuierlicher Integrationsprozess
Fazit
Verhaltensorientierte Entwicklung ist ein sehr kluger Ansatz in agile Methodik . Es wird immer empfohlen, entweder mit der Entwicklung oder dem Testen mit BDD zu beginnen, da Sie damit eine Plattform haben, auf der Sie unabhängig mit verschiedenen Technologien arbeiten können.
Gurke ist eines der besten Tools, mit denen der verhaltensgesteuerte Entwicklungsansatz im Softwareprojekt implementiert werden kann. Dies ermöglicht es uns, mit vielen Technologien zu arbeiten Z.B. Java, Python, Jython usw.
Gurke wird von vielen Organisationen und Freiberuflern häufig verwendet. Es gibt auch viele Communities, in denen die Benutzer ihre Probleme diskutieren und leicht Lösungen für ihre Probleme finden können.
Die Gurkensprache - Gurke, die einfache englische Wörter verwendet - verringert die Kommunikationslücke zwischen technischen Teams und Stakeholdern und ermöglicht ihnen, auf derselben Ebene zusammenzuarbeiten.
Wir hoffen, dieser Artikel hat Ihnen geholfen, die Grundlagen des BDD-Frameworks zu verstehen!
Literatur-Empfehlungen
- Wie die Tester an TDD-, BDD- und ATDD-Techniken beteiligt sind
- 8 BDD-Tools (Best Behavior Driven Development) und Test-Frameworks
- Automatisierungstests mit Gurkenwerkzeug und Selen - Selen-Tutorial Nr. 30
- Agile Methodik: Ein Leitfaden für Anfänger zu Agile Method und Scrum
- Specflow Tutorial: Das ultimative Handbuch zum BDD Tool
- Kontinuierlicher Integrationsprozess: So verbessern Sie die Softwarequalität und reduzieren das Risiko
- Cucumber Selenium Tutorial: Integration von Cucumber Java Selenium WebDriver
- 15 besten Tools für die kontinuierliche Integration im Jahr 2021 (im Vergleich)