Wie wir Cucumber, Selenium und Jira Xray zum Aufbau einer automatisierten Testinfrastruktur für einen großen E-Commerce-Konzern eingesetzt haben
In dieser Fallstudie zeigen wir, wie die QS-Berater von K&C einen agilen Testautomatisierungsprozess unter Verwendung von Cucumber mit dem Selenium Webdriver und Xray von Jira eingerichtet haben.
Wenn Sie Erfahrung mit Qualitätssicherung und Softwaretests haben, sind Sie vielleicht schon mit Cucumber, Selenium und Xray vertraut. Für den Fall, dass Sie nicht damit vertraut sind, beginnen wir mit einigen kurzen Definitionen, bevor wir in unserer Fallstudie zeigen, wie wir diese Technologien und Ansätze bei der Einrichtung eines Testautomatisierungssystems für unseren Partner anwenden:
Übersetzt mit www.DeepL.com/Translator (kostenlose Version)
Cucumber
Cucumber ist ein Ansatz zum Testen von Software, welcher die Gherkin-Sprache verwendet, um das Verhalten einer bestimmten Anwendung einfach in Standard-Englisch zu erklären. Der Ansatz unterstützt einen verhaltensgesteuerten Entwicklungsprozess zur Erstellung von Anwendungen.
Selenium Webdriver
Selenium Webdriver ist ein Browser-Automatisierungstool, das hauptsächlich für die Testautomatisierung bei webbasierten Anwendungen eingesetzt wird.
Xray For Jira
Xray für Jira ist ein Testmanagement-Tool, in das eine Software zur Projektüberwachung integriert wurde. Mit dem Plug-in kann der gesamte Testzyklus – von der Testplanung über das Design und die Durchführung bis hin zum Reporting – verwaltet werden. Genutzt werden spezielle Jira-Vorgangstypen, wodurch sich erfahrene Jira-Anwender schnell einarbeiten können.
E-Commerce-Unternehmen ohne QS-Experten, -Verantwortlichkeiten und -Prozesse
Welche Ziele sollte eine Organisation mit der Einführung eines QS-Prozesses inklusive einer Testautomatisierung anstreben? Die folgende Fallstudie veranschaulicht anhand eines Praxisbeispiels, wie die QS-Berater von K&C einen Testautomatisierungsprozess auf Basis von Cucumber, Selenium und Jira Xray realisiert haben.
Agiles Testen, vorzugsweise in automatisierter Form, ist das Herzstück jeder Methode der Qualitätssicherung (QS). Diese Fallstudie befasst sich mit einem unserer Kunden, der zu den führenden E-Commerce-Elektrofachhändlern in Europa zählt. Der Kunde hatte das Ziel, die Qualität der Entwicklung und der entsprechenden Ergebnisse zu optimieren. Zu Beginn der Zusammenarbeit verfügte das Unternehmen nicht über ein Qualitätsmanagement bzw. ein eigenes QS-Team. Die Entwickler testeten ihre Resultate in Eigenregie. Dies führte zu einer schwankenden Qualität und verursachte zudem einen hohen finanziellen und zeitlichen Aufwand.
Aufgrund fehlender interner Personalressourcen im QS-Bereich grifft das Unternehmen auf die über zwanzigjährige Erfahrung von Krusche and Company zurück.
Die Anforderung war es, einen soliden Testprozess zur Qualitätssicherung aufzubauen. Dieser sollte ohne Dokumentationen mit Textverarbeitungsprogrammen verwaltet, gepflegt und durchgeführt werden können.
Dies waren die beiden primären Aufgabenstellungen:
- Test-Cases unter Einsatz von Cucumber und Selenium innerhalb des Xray-Tools (Jira-Plug-in für Testmanagement) abbilden.
- Prozess der Testautomatisierung optimieren.
Anforderungen an den agilen Testprozess
Die Roadmap zur Erreichung der beiden Ziele beinhaltete:
- Komplette Neuentwicklung einer QS-Dokumentation
- Evaluierung und Aufbau eines Prozesses zur Pflege von Testplänen und zur Testdurchführung in verschiedenen Umgebungen.
- Integration der Cucumber- und Selenium-Testautomatisierung in das Xray-System.
- Einrichten der Tests, die später mit Xray durchgeführt werden sollten.
Zudem war gefordert, dass das System ohne QS-Know-how und lediglich mit einer kurzen Einarbeitung bedienbar sein sollte. Product Owner bzw. Feature Owner sollten in die Lage versetzt werden, Testpläne aus bestehenden Testfällen selbst zu generieren.
Agiles Testen und Testautomatisierung: der Projektverlauf
Zu Projektbeginn lernten wir das Team des Kunden kennen. Es nutzte bereits agile Methoden. Die Dokumentation von Features und Aufgaben war klar und gewissenhaft ausgestaltet. Es war jedoch jeder Entwickler dafür zuständig, seinen eigenen Code zu testen. Es existierte kein Mitarbeiter, der für das Testen verantwortlich war. Auch war kein definierter Prozess für die Entwickler vorhanden. Die Frage der Gesamtverantwortung war ebenfalls nicht geklärt.
Eines der Kernprobleme, das wir identifiziert haben, war das Fehlen von Akzeptanztests. Zwar verfügte unser Kunde über einen Automatisierungstechniker, der einige Testfälle zur Abarbeitung erstellt hatte. Dennoch fehlte eine professionelle Testumgebung. Zudem wurden die Tests ausschließlich lokal durchgeführt.
Die Reports bestanden aus einer kurzen Chat-Nachricht, die das Ergebnis der Tests beinhaltete. Zusätzlich existierte eine Aufstellung der Issues aus Jira.
Agiler Testprozess – Proof-of-Concept
Als Proof-of-Concept mussten wir einzelne Stories aus dem bevorstehenden Sprint auswählen sowie ein funktionierendes Beispiel für Testfälle, -durchführungen und -pläne innerhalb des Jira-Xray-Systems bereitstellen. Der nächste Schritt war die Analyse automatisierter Testfälle und deren Neujustierung aus Managementsicht.
Der seinerzeitige Reporting-Prozess war sowohl ineffektiv als auch zeitaufwendig. So hätte die Erstellung eines Testplans für neue Testaktivitäten beispielsweise einige Stunden gedauert – selbst, wenn sämtliche Fälle bereits beschrieben waren. Das erste Ziel war es daher, den Aufwand auf wenige Minuten zu reduzieren.
Zunächst analysierten wir die Anforderungen an die Testdurchführung aus Managementsicht, um einen Maßnahmenplan aufzustellen. Im Vordergrund stand hier die Schnelligkeit der Tests. Zudem sollten Benutzerszenarien auf Grundlage definierter Vorgaben editierbar sein.
Einführung von Jira Xray
Wir erstellten Akzeptanztests für jede der ausgewählten Proof-of-Concept-Stories und bereiteten die Struktur des Testmanagements in Jira mittels Xray vor. Mit Xray waren wir in der Lage, die Erstellung von Testplänen für zukünftige Sprints zu verwalten. Zudem richteten wir wiederkehrende Tests für standardisierte Routineaufgaben wie Smoke Testing nach dem Deployment ein. Feature Owner konnten auch ohne spezielles QS-Wissen sämtliche Szenarien testen und ihre Ergebnisse mithilfe einer klaren Reporting-Systematik während des gesamten Prozesses dokumentieren.
Die zweite Stufe unseres Proof-of-Concept war die Analyse des aktuellen Status automatisierter Testfälle und deren Migration nach Xray. Die Kombination aus Cucumber, Selenium und Jira Xray war einfach zu integrieren, da Cucumber-Testtypen von Xray nativ unterstützt werden. Zudem beinhaltet Xray eine Bibliothek der Automatisierungsschritte.
Wir erstellten einen Job im CI-System und konfigurierten ihn so, dass Testfälle aus dem Testplan automatisch übernommen, als Feature-Dateien importiert und Reports an Xray gesendet wurden. Nachdem alle vorhandenen Feature-Files als Testfälle nach Xray migriert wurden, konnten wir die Tests so abbilden, dass sie ohne QS-Know-how durchführbar waren.
Cucumber + Selenium + Jira + Xray = Maximale Testeffizienz
Die Integration von Cucumber, Selenium und Jira Xray ermöglichte signifikante Zeiteinsparungen bei der Testvorbereitung und -dokumentation.
Wir waren nun in der Lage, neue Feature-Files für die Testautomatisierung aus Xray zu erstellen, ohne die technisch weniger versierten Mitarbeiter zu vernachlässigen. Diese konnten fortan Testfälle erzeugen, ohne auf das Git-System zuzugreifen. Sämtliche Ergebnisse wurden direkt in Xray angezeigt. Zusätzliche E-Mails mit Testergebnissen oder der Zugriff auf das CI-System waren nicht mehr erforderlich.
Excel-Testpläne und -Berichte sind deutlich zu zeitaufwendig, wenn Hunderte wiederkehrender Testfälle einzeln abgearbeitet werden müssen. Der neue Ansatz der Testautomatisierung ermöglicht es hingegen, umfangreichste Tests problemlos durchzuführen und mit wenigen Klicks innerhalb des Plans zu duplizieren – inklusive aller relevanten Standard-Status und der Definition von Testumgebungen.
In Summe erzielten wir folgende Ergebnisse:
- Signifikante Zeiteinsparung in der Testvorbereitung.
- Klare Ergebnisse, nachgewiesen durch statistik-gestütztes Reporting.
- Leicht anzuwendende Bibliothek für die Testautomatisierung.
- Automatisierte Testdurchführung durch das Xray-System von Jira mit wenigen Klicks – ohne Zugriff auf das Git-/CI-System.
Krusche & Company – Führender Beratungsdienstleister für Entwicklung und DevOps in München und der DACH-Region
Mit über 20 Jahren Erfahrung hat sich K&C zu einem führenden Unternehmen der Bereiche IT-Beratung, IT-Outsouring und Development entwickelt. Zahlreiche Kunden jeder Größenordnung schenken uns Ihr Vertrauen. Hierzu zählen weltweit tätige Konzerne ebenso wie KMU und Start-ups.
Unsere Schwerpunkte sind DevOps, Web-Entwicklung und Cloud Services. Nehmen Sie jetzt Kontakt mit uns auf und lassen Sie uns über Ihre aktuellen Projektanforderungen sprechen!