Am Anfang ist das Testing meistens noch recht einfach. Die erste Version einer mobile App teste ich «straightforward».
Spätestens nach einigen Versionen und Testdurchläufen kann das mobile Testing aber kompliziert werden. Welche Stolpersteine gibt es zu berücksichtigen, speziell im Unterschied zu Desktop Applikationen?
Simplify mobile Testing
- Arbeite eng mit dem Kunden zusammen. Das macht kurze Versionsintervalle möglich.
- Erstelle klare Requirements und die entsprechenden Testspezifikationen. Das gibt eine belastbare Grundlage.
- Definiere früh welche Device Typen und OS Versionen unterstützt werden sollen
- Priorisieren mit welchen Device Typen getestet wird
- Erstelle eine simple Risikoanalyse bei Änderungen. Das hilft, Testaufwand zu priorisieren
- Wo sind Seiteneffekte zu erwarten
- Welche Unterschiede sind zwischen Android und iOS zu erwarten
- Wurde neue Version einer DLL eingebunden (z.B. im Xamarin Framework)
- Automatisiere früh
- Beginne schon bei der ersten Version mit Unittests und baue diese aus
- Automatisierte Tests amortisieren sich am schnellsten über nicht mehr notwendige manuelle Tests
- Verbessere die Testbarkeit der App. Zum Beispiel sind eindeutige IDs für alle GUI-Elemente sehr hilfreich, wenn eine mehrsprachige App automatisiert getestet werden soll. Das gilt für alle Tools wie Appium, Ranorex oder Xamarin.
- Die Testbarkeit einer App wird bei der Testautomatisierung am klarsten sichtbar. Sie wird von der Architektur und anderen Grundsatzentscheiden beeinflusst und kann im Nachhinein nur mit viel Aufwand verbessert werden
- Bereite die Architektur für Testautomatisierung vor
- Trenne Businesslogik von GUI. Das ergibt mit wenig Aufwand ein zusätzliches Test-Interface und verbessert die Testbarkeit der Applikation
- Mobile Applikationen geben weniger Informationen preis als Desktop Applikationen und deshalb sind GUI Tests aufwändiger zu erstellen
Fazit
Wird an den richtigen Stellen investiert, bleibt das mobile Testing überschaubar und einfach. Bei Fragen, fragen!