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.

Ein automatisierter Testfall in Gherkin.

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.

Ein Testlauf mit den zugehörigen Testfällen.

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.

Grafische Darstellung eines Testausführungsergebnisses von vier Testläufen.

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.

Lieselotte Schwan / Kontakt: Xing

techblog@walbusch.de

Kontakt Blog

Wenn Sie Fragen oder Feedback zum Technologie-Blog oder zu einem unserer Beiträge haben, können Sie sich gerne per Mail an unser Technologie-Blog Team wenden!

E-Mail: techblog@walbusch.de