FUNKTIONALE TESTAUTOMATISIERUNG MIT ZEPHYR
Eines unserer größten Testobjekte der IT-Qualitätssicherung bei Walbusch ist die Onlineshop-Plattform. Auf dieser Plattform befinden sich die Webshops zu den Marken Walbusch, Mey&Edlich und Avena, sowie die länderspezifischen Onlineshops für Walbusch Österreich und Schweiz.
Für die Gewährleistung einer gleichbleibend hohen Softwarequalität werden die Onlineshops in Zusammenarbeit mit der Shop-Entwicklung und dem E-Commerce durch die IT-Qualitätssicherung getestet. Da ein besonderes Augenmerk, wie bei jedem Testobjekt, auf dem Softwarequalitätsmerkmal Funktionalität liegt, müssen wir mehrere Onlineshops in unterschiedlichen Viewports und Browsern mit Desktopbrowsern und mit Mobile Devices testen.
Über die Viewports wird die Darstellung der einzelnen Webseiten festgelegt. Der kleinste Viewport ist die Portrait-Ansicht auf einem Smartphone, der größte Full HD auf Desktop.
Bisher unterstützen wir fünf verschiedene Viewports.
Für die Webbrowser verwenden wir z.B. Chrome, Firefox, IE, Edge und fünf Devicetypen, z.B. Desktop, iOS/Android Tablet, iOS/Android Smartphone.
Durch Berücksichtigung dieser Faktoren wird der Testaufwand mehrfach multipliziert.
Um dem hohen Testaufwand zu begegnen, verwenden wir neben manuellen Tests eine Testautomatisierung auf System- und Integrationsebene. Dadurch werden die manuellen Testaktivitäten auf ein Minimum reduziert.
Für unsere Testautomatisierung verwenden wir als Testmanagement-Tool Zephyr Scale. Als Plug-In für Atlassian Jira bildet es mit Jira zusammen ein Application-Lifecycle-Management System. Somit wird das Anforderungs- und Fehlermanagement von Jira durch das Testmanagement von Jira erweitert. Dies ermöglicht eine bidirektionale Rückverfolgbarkeit zwischen Anforderungen, Testfällen und Fehlern.
Die automatisierten Testfälle werden in Zephyr Scale in der Beschreibungssprache Gherkin verfasst. Dadurch können Mitarbeiter aus dem Fachbereich auch automatische Testfälle in natürlicher Sprache formulieren.
Testautomatisierung
Zudem können in Zephyr Scale Testfälle zu Testläufen zusammengestellt werden. Innerhalb eines Testlaufs kann für jeden Testfall einzeln festgelegt werden, für welchen Browser, Onlineshop, Viewport und Device dieser ausgeführt werden soll.
Sobald die Testautomatisierung startet, werden von Zephyr Scale der ausgewählte Testlauf und alle zugehörigen Testfälle von der Rest-API von Zephyr Scale abgerufen. Die Testfälle liegen nach Abruf als Dateien vor.
Durch das Framework Cucumber lässt sich den einzelnen Testschritten Java-Code zuordnen. Die direkte Steuerung der Webbrowser erfolgt über das Testframework Selenium mittels spezifischer WebDriver für das jeweilige Device, auf dem der Testfall ausgeführt werden soll.
Typische Beispiele für Aktionen auf der Website sind Klicks auf Buttons, Texteingabe in Textfeldern, sowie Auswahl aus einem DropDown-Menü. Zugleich ist es Selenium auch möglich, Daten aus Browsern abzufragen. Dazu gehören beispielsweise die Anzeige von Bildern, Buttons oder Beschriftung von Labels. Aus den Testdaten, die in den automatischen Testfällen angegeben worden sind, ergibt sich die Möglichkeit eines Soll-/Ist-Vergleichs. Dieser wird technisch mittels JUnit umgesetzt.
Wenn alle Prüfungen erfolgreich sind, wird ein Report an Zephyr Scale gesendet. Wenn eine Prüfung fehlgeschlagen ist oder eine Abweichung ergeben hat, wird ein Screenshot gemacht und eine technische Fehlermeldung an Zephyr Scale weitergegeben.
Um unsere Testautomatisierung zu erweitern, kann jederzeit ein neuer Testfall zu einem bestehenden Testlauf hinzugefügt werden. Für die Erstellung des Testfalls können die bestehenden Sätze in Gherkin wiederverwendet werden. Dazu verwenden wir den keyword-driven Ansatz, der besagt, dass für die Definition der Testfälle ein eindeutig definiertes Vokabular vorgegeben wird. Dadurch wird eine ständig neue Implementation der Testschritte vermieden und der Programmier- und Pflegeaufwand deutlich reduziert.