Cucumber Rahmen: Was ist Cucumber?

⚡ Intelligente Zusammenfassung

Cucumber ist ein Testwerkzeug, das verhaltensgetriebene Entwicklung (BDD) unterstützt und es jedem ermöglicht, Tests unabhängig von technischen Kenntnissen zu lesen. Diese Ressource erklärt die Funktionsweise von BDD anhand der Given-When-Then-Schritte und die Vorteile von Cucumberund wie es sich im Vergleich dazu verhält Selenium und HP ALM.

  • 🥒 Kerndefinition: Cucumber ist ein Tool für verhaltensgetriebene Entwicklung, das Tests in einfacher Sprache erstellt, die sowohl für technische als auch für nicht-technische Stakeholder verständlich sind.
  • 🗣️ BDD Foundation: Business-Analysten und Produktverantwortliche beschreiben das Systemverhalten, bevor die Entwickler Code schreiben, wodurch das gemeinsame Verständnis verbessert wird.
  • 📝 Gegeben-Wenn-Dann: Jede Cucumber Das Szenario folgt einer gut lesbaren Gegeben-Wenn-Dann-Struktur, die gleichzeitig als lebendige Dokumentation dient.
  • Die wichtigsten Vorteile: Schnelle Einrichtung, Wiederverwendung von Code, Fokus auf den Endnutzer und einfache Einbindung von Geschäftsbeteiligten ohne Programmierkenntnisse.
  • Werkzeugvergleich: Cucumber ist kostenlos und BDD-basiert, während HP ALM kostenpflichtig ist und Selenium Ziel sind Funktions- und Leistungstests.

Cucumber Unser Ansatz

Was ist Cucumber?

Cucumber ist ein Testwerkzeug, das verhaltensgetriebene Entwicklung (BDD) unterstützt. Es bietet eine Möglichkeit, Tests zu schreiben, die jeder verstehen kann, unabhängig von seinen technischen Kenntnissen. Bei BDD schreiben Benutzer (Business-Analysten, Produktverantwortliche) zunächst Szenarien oder Akzeptanztests, die das Verhalten des Systems aus Kundensicht beschreiben. Diese werden von den Produktverantwortlichen geprüft und freigegeben, bevor die Entwickler ihren Code schreiben. Cucumber Das Framework verwendet das Ruby-Programmiersprache.

Cucumber Unser Ansatz
Cucumber Unser Ansatz

So funktioniert BDD in Cucumber Automatisierung?

Angenommen, Sie sind beauftragt, ein Modul für Geldtransfers in einer Online-Banking-Anwendung zu erstellen.

Es gibt mehrere Möglichkeiten, es zu testen. Cucumber Testframework:

  1. Die Geldüberweisung sollte erfolgen, wenn auf dem Quellkonto ausreichend Guthaben vorhanden ist.
  2. Die Geldüberweisung sollte erfolgen, wenn die Angaben zum Zielkonto korrekt sind.
  3. Die Geldüberweisung sollte erfolgen, wenn das vom Benutzer eingegebene Transaktionspasswort / der RSA-Code / die Sicherheitsauthentifizierung für die Transaktion korrekt ist.
  4. Geldüberweisungen sollten auch an Bankfeiertagen erfolgen.
  5. Die Geldüberweisung sollte zu einem vom Kontoinhaber festgelegten späteren Zeitpunkt erfolgen.

Das Testszenario wird immer ausgefeilter und komplexer, wenn wir zusätzliche Funktionen berücksichtigen, wie zum Beispiel den Überweisungsbetrag X für ein Intervall von Y Tagen/Monaten, das Stoppen der geplanten Überweisung, wenn der Gesamtbetrag Z erreicht, und so weiter.

Die allgemeine Tendenz von Entwicklern besteht darin, Funktionen zu entwickeln und den Testcode später zu schreiben. Wie das obige Beispiel zeigt, Testfall Die Entwicklung für dieses Szenario ist komplex, und der Entwickler wird sie aufschieben. Tests bis zur Veröffentlichung, dann werden sie zwar schnelle, aber ineffektive Tests durchführen.

Um dieses Problem zu lösen, Cucumber BDD (verhaltensgesteuerte Entwicklung) wurde entwickelt. Es vereinfacht den gesamten Testprozess für Entwickler.

In Cucumber BDD, was auch immer Sie schreiben, muss in Gegeben-Wann-Dann Schritte. Betrachten wir das obige Beispiel im BDD-Kontext:

Given that a fund transfer module in net banking application has been developed
And I am accessing it with proper authentication
When I shall transfer with enough balance in my source account
Or I shall transfer on a Bank Holiday
Or I shall transfer on a future date
And destination a/c details are correct
And transaction password/RSA code/security authentication for the transaction is correct
And press or click send button
Then amount must be transferred
And the event will be logged in log file

Ist es nicht einfach zu schreiben, zu lesen und zu verstehen? Es deckt alle möglichen Testfälle für das Geldtransfermodul ab und kann leicht erweitert werden. Es ähnelt eher dem Schreiben einer Dokumentation für das Geldtransfermodul.

Vorteile von Cucumber Software

  1. Es ist hilfreich, auch Geschäftsbeteiligte einzubeziehen, die nicht ohne Weiteres Code lesen können.
  2. Das Cucumber Testwerkzeug Fokus auf das Endnutzererlebnis.
  3. Die Art und Weise, wie Tests geschrieben werden, ermöglicht eine einfachere Wiederverwendung des Codes in den Tests.
  4. Schnelle und einfache Einrichtung und Ausführung.
  5. Das Cucumber Testtool ist ein effizientes Werkzeug für testing.

Cucumber vs Selenium vs. ALM

In diesem Abschnitt untersuchen wir den Unterschied zwischen Cucumber, Seleniumund ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber Die Software ist kostenlos. QTP ist teuer. Es ist frei.
Cucumber Software ist ein verhaltensorientiertes Entwicklungswerkzeug. Es handelt sich um ein Werkzeug zur Funktionsautomatisierung. Es handelt sich um ein funktionales und leistungsorientiertes (Selenium Grid) Testtool.
Das Plugin im Cucumber Das Testtool funktioniert schneller. Plugins sind langsamer im Vergleich zu Cucumber und Selenium. Plugins sind langsamer als Cucumber.
Cucumber Das Framework unterstützt neben Ruby auch andere Sprachen, wie zum Beispiel Java, Scala, Groovy, usw. QTP Unterstützt nur VB Script. Selenium unterstützt Java, .NET und viele andere Sprachen.
Das Schreiben von Automatisierungsschritten ist eine gemeinsame Aufgabe von Testern und Entwicklern. In QTPNur der Tester schreibt die Automatisierungsschritte. Like CucumberDas Schreiben von Automatisierungsschritten ist eine gemeinsame Aufgabe von Testern und Entwicklern.
Das Cucumber Das Testtool unterstützt nur die Webumgebung. Unterstützt Web-, Desktop- und beliebige Client-Server-Anwendungen. Unterstützt nur die Webumgebung.

Überprüfen Sie auch: - UFT vs Selenium: Unterschied zwischen Selenium und HP UFT

Häufig gestellte Fragen

Ja. KI-Tools können Gherkin-Szenarien und Schrittdefinitionen direkt aus schriftlichen Anforderungen erstellen. Tester sollten die generierten Szenarien jedoch vor ihrer Verwendung auf Genauigkeit, Grenzfälle und vollständige Abdeckung überprüfen.

Nein. KI beschleunigt zwar das Schreiben von Szenarien und die Generierung von Schritten, aber menschliche Tester definieren weiterhin das erwartete Verhalten, validieren die Geschäftslogik und pflegen die Zusammenarbeit mit den Stakeholdern, die nach wie vor zentral für die verhaltensgetriebene Entwicklung ist.

Gherkin ist die Klartextsprache Cucumber Wird zum Schreiben von Testszenarien verwendet. Es folgt der Given-When-Then-Struktur, wodurch die Tests sowohl für Geschäftsbeteiligte als auch für Entwickler lesbar und gleichzeitig ausführbar sind.

Cucumber ist ein BDD-Werkzeug. Es konzentriert sich auf das Systemverhalten aus der Perspektive des Benutzers, im Gegensatz zu TDD, das sich auf das Schreiben von Unit-Level-Code-Tests vor der Implementierung jedes kleinen Funktionsbausteins konzentriert.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: