adesso Blog

Das Cucumber Framework ist ein leistungsfähiges Open-Source-Tool, das im Rahmen des Behavior Driven Development (BDD) eingesetzt wird. Es ermöglicht die Zusammenarbeit zwischen nichttechnischen und technischen Teammitgliedern durch die Verwendung einer gemeinsamen Sprache. Es unterstützt häufig die Erstellung und Ausführung automatisierter Testfälle.

Diese Einführung gibt einen Überblick über die grundlegenden Konzepte und Eigenschaften des Cucumber Frameworks.

BDD – Behavior Driven Development

BDD ist eine agile Softwareentwicklungsmethode, deren Ansatz auf der Überzeugung beruht, dass Software nicht nur auf technischen Aspekten basiert oder basieren kann. Vielmehr sollte das gewünschte Verhalten der Software aus Sicht der Stakeholder im Vordergrund stehen. Dabei zielt BDD darauf ab, die Kommunikation und Zusammenarbeit zwischen den verschiedenen Rollen im Projekt zu verbessern. Eine gemeinsame Sprache soll hierbei helfen, um die Barrieren zwischen den nichttechnischen und den technischen Kolleginnen und Kollegen abzubauen.

Cucumber

Cucumber wurde entwickelt, um die Prinzipien von BDD umzusetzen. Es handelt sich um eine Open-Source-Lösung, die darauf ausgelegt ist, die Definition, Ausführung und Automatisierung von Testszenarien in einer einfachen und natürlichen Sprache zu realisieren.

Dabei verwendet Cucumber die Gherkin-Syntax, um Testfälle in sogenannten Feature-Dateien zu beschreiben.

Beispiel einer Feature-Datei im Gherkin-Syntax (Quelle: https://www.jetbrains.com/help/idea/creating-feature-files.html#examples-scenario-outline)

Beispiel einer Feature-Datei im Gherkin-Syntax (Quelle: https://www.jetbrains.com/help/idea/creating-feature-files.html#examples-scenario-outline)

Cucumber selbst wandelt schließlich die Feature-Dateien in ausführbaren Code (Step-Definitionen) um. Jede Step-Definition ist mit der entsprechenden Feature-Datei verknüpft. Auf diese Weise werden spätere Tests mit den entsprechenden Feature-Dateien verglichen, um Diskrepanzen in der Definition/Umsetzung der Testfälle aufzudecken.

Wie wird Cucumber eingesetzt?

Cucumber ist keine eigenständige Softwarelösung. Vielmehr handelt es sich um eine Art Framework oder Bibliothek, die in verschiedenen Programmiersprachen verwendet werden kann, um Feature-Dateien mit der Gherkin-Syntax zu erstellen.

Folgende Programmiersprachen sind für die Implementierung besonders beliebt:

  • Java: Cucumber-JVM
  • C#: SpecFlow
  • Python: Behave
  • Ruby: Cucumber .rb
  • JavaScript: Cucumber .js

Für die entsprechende Einrichtung in der jeweiligen Programmierumgebung gibt es zahlreiche Anleitungen im Internet, die leicht zu finden sind.

Erarbeitung der Testfälle durch die Drei Amigos

Das sogenannte Tres-Amigos-Prinzip ist eine bewährte Methode in der BDD, die die Zusammenarbeit und das intrinsische Verständnis zwischen drei wichtigen Schlüsselrollen im Entwicklungsprozess verbessert. Es bezieht sich auf die folgenden drei Rollen:

  • Business-Analystinnen und -Analysten/Produktmanagerinnen und -manager
  • Entwicklerinnen und Entwickler
  • Testerinne und Tester

Das Ziel ist eine präzise Verfeinerung der Anforderungen durch die unterschiedlichen Perspektiven und Fachkenntnisse der verschiedenen Rollen. Dabei kann jemand aus dem Produktmanagement oder aus dem Bereich der Geschäftsanalyse die Anforderungen in einer einfachen und lesbaren Sprache für die nichttechnischen Rollen im Projekt beschreiben. Dazu wird die Gherkin-Syntax verwendet, um Feature-Dateien zu erstellen, die das gewünschte Verhalten der Software beschreiben. Die Entwicklerin oder der Entwickler übernimmt dann die Feature-Dateien und erstellt die entsprechenden Step-Definitionen im Code, die dann mit der entsprechenden Logik im Code verbunden werden, die das gewünschte Verhalten realisiert. Die Testerin oder der Tester übernimmt ebenfalls die Gherkin-Feature-Dateien, um seinerseits automatisierte Testfälle zu erstellen.

Dieser Ansatz sichert und verbessert das inhärente Verständnis zwischen den drei Schlüsselrollen und ermöglicht eine ressourceneffizientere Entwicklung und Implementierung von Anforderungen.

Fazit

Die zentrale Frage, die sich nun stellt, ist: Wie profitiert adesso von diesem Tool/Framework? Das heutige Umfeld für IT-Projekte ist von hoher Dynamik und Komplexität geprägt. Die Entwicklung von Anforderungen und die Durchführung von Qualitätssicherungsmaßnahmen werden durch die zeitlich begrenzte Zusammenarbeit der Teammitglieder zusätzlich erschwert. Diese begrenzte Zusammenarbeit kann sich negativ auf das intrinsische Verständnis zwischen den Teammitgliedern auswirken. Dennoch muss eine Lösung gefunden werden, um unter diesen Bedingungen das bestmögliche Ergebnis aus der Zusammenarbeit zu erzielen. Durch die klare Definition der Rollen, wie oben beschrieben, und die Verwendung des Tools als Alternative, können wir die Testfälle aus verschiedenen Perspektiven betrachten. Dies hilft, das Risiko zu minimieren, dass das Projekt in die falsche Richtung läuft.

Interessierte Leserinnen und Leser finden weitere Information auf dieser Website: https://cucumber.io/docs/cucumber/

Ihr möchtet mehr über spannende Themen aus der adesso-Welt erfahren? Dann werft auch einen Blick in unsere bisher erschienenen Blog-Beiträge.

Auch interessant:

Bild Siver Rajab

Autor Siver Rajab

Siver Rajab ist Consultant im Bereich Banking bei adesso. Mit einem Hintergrund in Datenintegration und langjähriger Erfahrung als Business Analyst unterstützt Siver Entscheidungsträger dabei, die richtigen Schritte zum Erfolg zu gehen.

Kategorie:

Methodik

Schlagwörter:

Cucumber

Diese Seite speichern. Diese Seite entfernen.