Die Anwendung Agiler Methoden (bspw. Scrum) erfreut sich bei der Entwicklung mobile Applikationen für Android und iOS („Apps“) immer größerer Beliebtheit, denn dadurch können Unternehmen dem Anwender viel schneller neue Funktionen zur Verfügung zu stellen und auf Marktänderungen und Feedbacks schnell reagieren.
Die andere Seite der Medaille: Sie müssen viel häufiger die App testen. Anstatt 1 bis 3-mal im Jahr (hier sprechen wir von einem klassischen Wasserfall-Vorgehen) müssten Sie nun die App ca. 26-mal im Jahr testen (Annahme: 2-wöchige Sprints). Das geht nicht ohne Testautomatisierung.
Dieser Artikel erläutert, wie wir in unseren Projekten Fachtester befähigen, auch ohne Programmierkenntnisse Tests selber zu automatisieren.
Das Problem
Stellen Sie sich vor, ihr Fachbereich hat eine Shopping-App beauftragt. Für diese App müssen vor jedem Release diverse Tests durchgeführt werden.
Am Anfang des Jahres bekommt Ihre App eine neue Funktion „Artikel in den Warenkorb legen“.
Daraus resultieren verschiedene Tests:
- Wie verhält sich die Gesamtanzahl der Artikel im Warenkorb, wenn ich Artikel hinzufüge oder entferne?
- Und wie verändert sich der Gesamtpreis entsprechend?
- Was passiert, wenn ich die Anzahl des Einzelartikels erhöhe?
- …
Mit der ersten Auslieferung prüfen die Fachtester manuell ob die neue Funktionen in der App auch einwandfrei läuft. Im Laufe des weiteren Jahres muss diese Funktion erneut 25-mal manuell geprüft werden um sicherzustellen dass auch in der neuen Auslieferung nichts „kaputt gegangen“ ist (Annahme: 2-wöchige Sprints). Durch das wiederholte manuelle Testen („Regression Testing“) entstehen hohe Kosten (Personalkosten und ggf. Kosten für die Belegung der Testinfrastruktur).
Die Lösung
Die Lösung hierfür hört sich einfach an: Testautomatisierung. Das Problem dabei ist, dass die Testautomatisierung im Vergleich zum manuellen Testen Entwickler-Skills (Programmierkenntnisse) erfordert und daher von den Fachtestern alleine nicht zu bewältigen ist. Somit steht Ihr Unternehmen vor folgenden Herausforderungen:
- Sie müssen Entwickler rekrutieren, die evtl. am Markt gar nicht / nicht so schnell zur Verfügung stehen
- Sie müssen zusätzliche Personalkosten einplanen
- Die bisherigen Fachtester können nicht mehr vollumfänglich eingesetzt werden, da jetzt andere Skills benötigt werden
Um Fachtester zu befähigen, auf der Grundlage von Bausteinen automatisierte Tests selber zu „entwickeln“, setzen wir in unseren Projekten den Avenqo StoryTeller ein.
Avenqo’s „StoryTeller“
Der StoryTeller unterstützt Fachanwender bei der Testautomatisierung. Mit dem StoryTeller ist es ihnen möglich, automatisierte Tests zu erstellen, abzuändern und auszuführen. Auf Entwickler kann man zwar nicht vollständig verzichten, der Entwicklungsbedarf wird aber schätzungsweise halbiert.
Das Programm verfügt über eine formalisierte Sprache, mit welcher der Fachanwender die Testschritte fachlich definiert. Die Schritte werden durch den Entwickler automatisiert und können ggf. durch zusätzliche Parameter angepasst werden (bspw. Testdaten/Testanwender, Wartezeiten etc.)
Mithilfe von App-Seiten in der Benutzeroberfläche der App kann der Testanwender die vorformulierten Schritte auslösen.
Der StoryTeller führt die vom Fachanwender formulierten Testschritte gegen die App aus. Dies erfolgt durch die Simulation von Benutzereingaben und durch das Auslesen von Daten. Anschließend wird das Ergebnis überprüft bspw. ob der angezeigte Gesamtpreis des Warenkorbs korrekt berechnet wurde.
Zur besseren Vorstellung präsentieren wir Ihnen ein kleines Beispiel bestehend aus 5 Schritten.
Angenommen die App ist gestartet
Und ich befinde mich auf der Seite „Drogerieartikel“
Wenn ich 1 Artikel „Shampoo“ in den Warenkorb lege
Wenn ich 2 Artikel „Seife“ in den Warenkorb lege
Dann enthält mein Warenkorb
Mit dem Einsatz des Avenqo StoryTellers ergeben sich einige Vorteile sowohl für die Fachanwender, denen der StoryTeller unterstützend zur Seite steht, als auch für Ihr Unternehmen.
1. Fachtester: Wiederverwendung bereits automatisierter Testschritte beim Entwurf neuer App-Tests
Die durch den StoryTeller definierten Schritte sind wiederverwendbar, das heißt es lassen sich neue Testsituationen simulieren nur indem die bereits vorhandenen Schritte neu kombiniert werden. Das ist vollständig ohne Entwicklerkenntnisse möglich. Da beim Testen einer App schnell mehrere hundert wiederverwendbarer Testschritte entstehen, müssen diese klug strukturiert sein.
2. Fachtester: Die fachliche Hoheit verbleibt beim Fachtester.
Auch wenn der StoryTeller bereits einige vordefinierte Schritte mitbringt, so wird man als Fachanwender schnell in die Situation kommen, weitere Testschritte zu benötigen. Mit dem StoryTeller kann der Fachanwender seine Tests quasi „trocken“ formulieren und die neu benötigten Schritte dokumentieren. Auf Basis dieses „Entwicklungsauftrags“ kann dann der Entwickler diese Schritte automatisieren und benötigt hierfür keine fachlichen App-Kenntnisse.
3. Fachtester: Kann automatisierter Tests selber ausführen und bewerten.
Üblicherweise werden die automatisierten Tests in komplizierten Entwicklungsumgebungen ausgeführt. Der StoryTeller dagegen stellt dem Fachtester eine einfache Oberfläche zur Verfügung, um den Test auszuwählen und anschließend auf den „Play“ Button zu drücken. Nach dem Test erfolgt die Anzeige der Ergebnisse.
4. Unternehmen: Benötigt weniger Entwickler-Skills
Da ein Teil der Testautomatisierung von den Fachtestern übernommen wird, können sich die Entwickler auf die rein technischen Aspekte der Testautomatisierung konzentrieren. Abgesehen vom Kostenfaktor: auch nach der Coronakrise wird sich der IT-Personalmangel wieder bemerkbar machen.
5. Unternehmen: Einsparung von Entwicklungsaufwand bei Erweiterung der Tests auf neue Plattformen
Die Erfahrung zeigt, das bis zu 95% der Testschritte wiederverwendbar sind, wenn es um die Erweiterung der Testautomatisierung auf neue Plattformen geht. Da die Testfälle bereits im Vorfeld fachlich formuliert wurden (bspw. iOS), braucht man für die Erweiterung der Tests (bspw. Auf Android) nur noch 50% des ursprünglichen Aufwands.
Fazit
Die Avenqo GmbH präsentiert mit dem Avenqo StoryTeller eine Lösung, die Unternehmen bei der Digitalisierung und agilen Transformation ihrer Fachabteilungen im Bereich Test durch Testautomatisierung unterstützt. Mit dem StoryTeller können Fachanwender automatisierte Tests selber entwerfen und ausführen. Zwar kann man (noch) nicht vollständig auf Entwicklungskompetenzen verzichten, jedoch wird der hierfür notwendige Anteil deutlich gesenkt, insbesondere bei der parallelen Automatisierung verschiedener Plattformen (iOS, Android)
Dieses Werkzeug setzen wir in Projekten unseren Geschäftspartnern ein. Einmal erstellte Tests können jederzeit auch ohne den StoryTeller gepflegt und ausgeführt werden.
Autor: Marcel Köppen