Konzeption und Evaluation der Qualitätssicherung einer Multi-Plattform Publishing Suite mit Testautomatisierung

Kurzfassung

Diese Arbeit begleitet einen Teil des Entwicklungsprozesses des von der sprylab technologies GmbH entwickelten Produktes "Purple Publishing Suite". Dies ist eine Produktionsumgebung, mit der digitale Publikationen erstellt werden können und die aus einer Desktopanwendung, einer Webanwendung und einer mobilen Anwendung besteht. Das Ziel dieser Arbeit war die Konzeption und Evaluation einer Testautomatisierung von Purple, wobei die Schwierigkeit war für alle drei Komponenten eine eigene Lösung zu finden.

Bei der Webanwendung - dem Purple Manager - wurden Oberflächentests mithilfe des Testwerkzeugs Selenium automatisiert. Dies war sehr zeitaufwendig aufgrund des hohen Funktionsumfangs der Webanwendung und weil noch ein paar kleinere Codeänderungen nötig waren. Selenium hat allerdings eine gute Elementidentifikation und ist dadurch gut wartbar, sodass weitere Arbeiten an der Testautomatisierung weniger zeitintensiv werden. Die Abdeckung der Testfälle ist hoch.

Auch die Testautomatisierung der mobilen Anwendung, des Purple Kiosks, basiert auf Oberflächentests, wofür MonkeyTalk benutzt wurde. Da sprylab genug Testgeräte besitzt, konnte die Automatisierung direkt in der Firma durchgeführt werden. Aufgrund der deutlich verschiedenen Displaygrößen und der damit verbundenen anderen Darstellung der Inhalte wurden unterschiedliche Tests für Smartphones und Tablets entwickelt. Die größten Probleme bei der Entwicklung der Tests traten bei Wartezeiten und den nicht eindeutigen IDs der Elemente auf. Während der Tests entstanden gewollte Wartezeiten, die je nach Gerät und Internetverbindung unterschiedlich lang waren, wofür aber auch eine einheitliche Lösung gefunden werden musste. Insgesamt war die Abdeckung auch hier hoch und die Tests ließen sich aufgrund des deutlich geringeren Funktionsumfangs relativ schnell umsetzen.

Der Purple Composer ist die Mac-Desktopanwendung, bei der die Exportfunktion der Datei getestet wurde, die innerhalb der Anwendung zusammengestellt wurde. Hierbei werden bereitgestellte Dateien über ein Skript importiert, exportiert und anschließend mit einer Referenzdatei verglichen. Hier mussten zuerst gewollte Unterschiede (beispielsweise die Versionsnummer) gefunden und aus dem Vergleich herausgenommen werden. Da hierbei nur der Datenstrom und nicht die Oberfläche getestet wird, war dies die schnellste Automatisierung.

Abstract

This thesis accompanied a part of the development process of the product Purple Publishing Suite developed by the sprylab technologies GmbH. This is a production environment for creating digital publications and consists of a desktop application, a web application and a mobile application. The aim of this thesis was creating a design and later evaluating a test automation of Purple, the difficulty was to find an own solution for each of the three components.

In the web application – the Purple Manager – surface tests were automated using the testing tool Selenium. This was very time-consuming due to the high functionality of the web application and because a few minor code changes were necessary. However, Selenium has a good element identification and is therefore maintainable, so further work on the test automation will be less time-consuming. The coverage of the test cases is high.

The test automation of the mobile application, the Purple Kiosk, is based on surface tests using MonkeyTalk. Since sprylab has enough test devices, automation could be performed directly in the company. Due to the significantly different display sizes and the associated varied representation, different tests for smartphones and tablets have been developed. The biggest problems in the development of the tests occurred in waiting times and the non-unique IDs of the elements. During the tests, intentional delays arose, which were of different length depending on the device and the internet connection, for which also a uniform solution had to be found. Overall, the coverage was also high here and the tests could be implemented relatively quickly due to the significantly lower functional scope.

The Purple Composer is the Mac desktop application, where the export function of the file has been tested, which was compiled within the application. The hosted files are imported, exported and then compared to a reference file via a script. First, planned differences (for example, the version number) had to be found and taken out of the comparison. Since only the data stream and not the surface was being tested, this was the fastest automation.

Einleitung

Ziel dieser Bachelorarbeit ist die Entwicklung eines Konzepts zur Testautomatisierung für das von der sprylab technologies GmbH entwickelte Produkt "Purple Publishing Suite". Zu Beginn dieser Arbeit gab es bereits eine lauffähige, aber vereinfachte Version der Purple Publishing Suite. Der weitere Entwicklungsprozess wurde vom Autor begleitet, um die Arbeit darin zu integrieren.

Die Purple Publishing Suite ist eine Produktionsumgebung, mit der digitale Publikationen erstellt werden können. Insgesamt besteht das Produkt aus drei Anwendungen, die jeweils für einen Teil der Umsetzung zuständig sind. Das Ziel der Anwendung ist, aus statischen Print-Medien aktive, animierte Elemente zu schaffen, um eine interaktive Nutzung von digitalen Publikationen zu ermöglichen. Die Purple Publishing Suite bietet hierfür sowohl eine speziell für diesen Zweck entwickelte Designplattform (Mac-Anwendung), einen umfangreichen Verwaltungsbereich (Webanwendung) und eine mobile Anwendung für den Verkauf und die Nutzung der digitalen Publikationen.

Die sprylab technologies GmbH ist eine 2007 gegründete Softwarefirma, die sich auf die Bereiche der mobilen Anwendungen und der Webanwendungen spezialisiert hat. Neben der Umsetzung von Projekten nach den Vorstellungen der Kunden entwickelt sprylab auch Produkte, mit denen Unternehmen in den Bereichen Digital Publishing, Mobile Strategy und Location-Based Edutainment Anwendungen selbst erzeugen und aktualisieren können. Insgesamt besteht die Firma aktuell aus ca. 45 Mitarbeitern an zwei Standorten, darunter auch Freelancer und Studenten, wobei die Anzahl der Mitarbeiter ständig wächst.

Fazit/Ausblick

Der Arbeitstitel dieser Bachelorarbeit war "Konzeption und Evaluation der ganzheitlichen Qualitätssicherung einer Multi-Plattform Publishing Suite mit Testautomatisierung". Zu Beginn der Arbeit wurde ein Plan erstellt, mit welchen Methoden die Komponenten am besten automatisiert werden sollten. Schon bei diesem ersten Schritt wurde deutlich, dass eine ganzheitliche Qualitätssicherung im Rahmen einer Bachelorarbeit unmöglich umzusetzen war. Somit wurde der Plan so erstellt, dass jeweils der für den Kunden wichtigste Teil von jeder der drei Komponenten automatisiert werden sollte.

Begonnen wurde dann mit dem umfangreichsten Teil, nämlich dem Purple Manager. Trotz des großen Zeitaufwandes, der für die Automatisierung der Oberflächentests benötigt wurde, war deutlich, dass eine Testautomatisierung der richtige Weg für die Qualitätssicherung war. Die Abdeckung der Testfälle war hoch (etwa 88%) und die Testergebnisse standen bereits am nächsten Morgen zur Verfügung. Manuelle Tests wären bei diesem Funktionsumfang nur unzureichend möglich gewesen, sodass keine gleichbleibend gute Qualität des Produkts gewährt werden könnte. Auch die Entwickler profitieren von schnellen Testergebnissen, da sie unverzüglich entstandene Fehler wieder beheben können bevor darauf aufgebaut wird.

Die Automatisierung der Oberflächentests des Purple Kiosks war ebenfalls nützlich, auch wenn manuelle Tests hier aufgrund des deutlich geringeren Funktionsumfangs möglich gewesen wären. Da aber auch die Testautomatisierung dementsprechend schnell ging, ist auch dies eine große Entlastung für die Qualitätssicherung.

Beim Purple Composer wären Oberflächentests im Rahmen dieser Bachelorarbeit wahrscheinlich nicht möglich gewesen. Der Funktionsumfang ist sehr hoch, weswegen die Entscheidung auf eine Testautomatisierung zur Kontrolle der Versionskompatibilität fiel. Dabei wurde ein Skript ausgeführt, das ein Dateipaket in den Composer importiert, exportiert und anschließend mit einer Referenzdatei vergleicht. Hier ist der große Vorteil, dass man innerhalb von sehr kurzer Zeit weiß, ob die neue Version mit der alten kompatibel ist. Sollte dies nicht der Fall sein, sieht man dank des Dateivergleichs auch, wie genau der Fehler entstanden ist. Dies ist besonders für die Entwickler praktisch, da sie jede neue Version sofort testen können und sich einen großen Teil der Fehlersuche sparen.

In Zukunft können die Tests noch ausreichend erweitert werden. So wurde beispielsweise bereits eine externe Firma damit beauftragt, Black-Box-Tests in Bezug auf die Sicherheit des Purple Managers durchzuführen. Auch das Thema Last- beziehungsweise Stresstests ist im Rahmen dieser Bachelorarbeit unberührt geblieben, eventuell können auch davon noch Teile automatisiert werden. Auch die Zusammenarbeit der Komponenten wurde bisher nicht getestet.

Beim Purple Kiosk werden die zukünftigen Testergebnisse zeigen, ob und wo noch weiterer Automatisierungsbedarf besteht. Hier liegt besonderes Augenmerk auf der Kauffunktion, da ein Fehler an dieser Stelle zum Verlust der Konsumenten und damit auch der Kunden führt.

Insgesamt war dieser Anfang der ganzheitlichen Testautomatisierung der Purple Publishing Suite ein Erfolg.

Comments