10 Tipps & Tricks zur Testautomation von mobilen Endgeräten
Die Entwicklung von Apps für Smartphones und Tablets ist mittlerweile zu einem unverzichtbaren Teil der Softwareentwicklung geworden. Kaum ein modernes System kommt ohne der Möglichkeit aus, auch über mobile Geräte benutzt zu werden.
„Weil die automatisierte Qualitätssicherung dieser Apps immer noch in den Kinderschuhen steckt, wird sehr viel Potenzial verschenkt. Testautomation für mobile Geräte ermöglicht nämlich nicht nur fast feedback, also schnelle Regressionstests mit wenig manuellem Aufwand, sondern auch Tests auf vielen Geräten, Betriebssystemen und Konfigurationen.“, so Markus Schwabeneder, Senior Consultant für IT Analyse, Software Test und Projektmanagement.
Wo genau warten also die Herausforderungen der Testautomation in der mobilen Welt? Markus Schwabeneder hat dafür 10 praxisnahe Expertentipps parat:
Tipp 1: Bauen Sie eine Pyramide!
Unerlässlich ist eine gute Unit-Testabdeckung. Außerdem hilft weniger Oberflächenautomation und die Berücksichtigung der Software Testing Pyramide.
Tipp 2: Fahren Sie auf den Hauptstraßen!
Tests, die die gesamte Applikation inklusive der UI prüfen, können Probleme oder Fehler aufdecken, die von Tests kleinerer Einheiten nicht entdeckt werden. Darum sind End-to-End-Tests notwendig. End-to-End-Tests sind aber deutlich schwieriger zu warten, aufwendiger zu implementieren und meistens auch deutlich langsamer in der Durchführung. Darum sollte man sie auf ein vernünftiges Maß reduzieren.
Andererseits werden Funktionen, die besonders häufig von den Usern benutzt werden oder die ganz besonders wichtig sind, „Hauptstraßen“ und sind gute Kandidaten für End-to-End automationen.
Tipp 3: Riskieren Sie richtig!
Zur Einschätzung des richtigen Testaufwands hilft die Bestimmung wie kritisch sich ein spezifischer Fehler auswirken würde und wie wahrscheinlich so ein Fehler sein könnte. Anforderungen, für die sich hier ein großes Risiko ergibt, müssen besonders intensiv getestet werden. Umgekehrt sind exzessive Tests von Anforderungen, die kein großes Risiko bergen, nicht sinnvoll.
Berücksichtigen Sie im Zusammenhang vor allem die beiden Parameter Eintrittswahrscheinlichkeit und Eintrittsschaden.
Tipp 4: Kennen Sie Ihre Kunden!
Um die Hauptstraßen zu bestimmen und die Auswirkungen von eventuellen Problemen in der App abschätzen zu können, müssen Sie wissen, wie die App von Ihren Anwendern benutzt wird. Ebenfalls ist es wichtig zu wissen, auf welchen Geräten und unter welchen Betriebssystemen die App eingesetzt wird.
Das Anwenderverhalten und besonders die Geräte-Betriebssystem-Kombination können sich mit der Zeit ändern. Darum ist es sinnvoll, zu analysieren, auf welchen Geräten welche Funktionen benutzt werden: Testen Sie die richtigen Geräte in der richtigen Umgebung!
Tipp 5: Kombinieren Sie clever!
In dem Dschungel der mobilen Endgeräte ist es unmöglich, alle denkbaren Kombinationen zu testen. Es gibt aber diverse Möglichkeiten, eine große Testabdeckung mit relativ wenigen, aber gut gewählten Tests zu erreichen.
Eine gute und noch relativ einfache Möglichkeit zur Testfallreduktion nennt sich „Pairwise Testing“, etwas detaillierter wird es mit „Orthogonal Array Testing“. Aufwand- sowie Kosteneffizienz werden damit optimiert.
Tipp 6: Nutzen Sie die Cloud!
Das Testen auf eigenen physischen Geräten bedeutet, dass man sich mit dem Geräteankauf und auch mit der Gerätewartung auseinander setzen muss. Ein Weg, diesen Problemen aus dem Weg zu gehen, ist, sich die Geräte quasi zu „mieten“. Manche großen Player in der IT (Amazon (AWS Cloud), Google (Firebase Test Lab), Microsoft (Xamarin Test Cloud)) bieten solche Services an. Es gibt auch Firmen, die genau darauf spezialisiert sind (Experitest, Kobiton, Perfecto, SauceLabs). So erreichen Sie eine große Geräteauswahl zu überschaubaren Kosten.
Tipp 7: Verbessern Sie die Tests kontinuierlich!
Vermeiden Sie die lange Entwicklung einer „Big Bang“-Lösung, sondern starten Sie mit kleinen Schritten, die aber sofort Nutzen bringen!
Starten Sie mit den Tests Ihrer kritischen Anforderungen: Leben Sie das „Pfadfinder-Prinzip“: Verlassen Sie jeden Ort schöner als Sie ihn betreten haben. Das bedeutet, jeder neue Code soll nicht nur Funktionalität hinzufügen, sondern auch den alten Code lesbarer, wartbarer und testbarer machen. Auch die Einführung von Unit-Tests kann auf diese Weise gut vorangetrieben werden. Dadurch gewährleisten Sie schnelles Erkennen von Problemen in der Testautomation.
Tipp 8: Testen Sie in Stufen!
Es ist sinnvoll, unterschiedliche Teststufen zu definieren. So können z.B. Unit-Tests direkt nach einem Check-In vom Code laufen.
Für automatisierte Tests, die eine längere Laufzeit haben, bieten sich „Nightly Builds“ an.
Tests, die bei jedem Durchlauf Kosten verursachen, können in Stufen erfolgen, die nur manuell ausgelöst werden. Wichtig ist auch, vor dem Go-Live sehr umfassend zu testen.
Tipp 9: Starten Sie die Qualitätssicherung schon in der Entwicklung!
…denn: moderne Standards führen zu leichter testbarem Code! Folgende Prinzipien verringern das Fehlerrisiko und erhöhen die Testbarkeit des Codes:
- MVC / MVVM / MVP
- DRY
- SOLID
- Single responsibilty principle
- Open/closed principle
- Liskov substitution principle
- Interface segregation principle
- Dependency inversion principle
- Verwendung von Automation IDs
Tipp 10: Halten Sie die Testautomation aktuell!
Mobile Testautomation erfordert ständige Wartung. Mustern Sie daher nicht mehr benötigte Testfälle aus und bewerten Sie die Geräte- und Betriebssystemabdeckung regelmäßig neu.
Weitere Informationen zu den Vorträgen & kostenlose Anmeldung:
Sie möchten den SEQIS Videoblog auf YouTube abonnieren?
Hier finden Sie alle Videos:
https://www.youtube.com/channel/UCX2cm6EigOv-63mZ6SLcwog
Für weitere Presseinformationen wenden Sie sich bitte an:
SEQIS GmbH
Marketing
Frau Christina Eder
Tel. +43 (0) 2236 320 320 0, marketing@SEQIS.com
Hinweis im Sinne des Gleichbehandlungsgesetzes:
Aus Gründen der leichteren Lesbarkeit wir in diesem Text die geschlechtsspezifische Differenzierung nicht durchgehend berücksichtigt. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung für beide Geschlechter.
SEQIS ist der führende österreichische Anbieter in den Spezialbereichen Software Test, IT Analyse und agiles Projektmanagement: Beratung, Verstärkung, Ausbildung und Workshops – seit 2001 der Partner für hochwertige IT-Qualitätssicherung. Weitere Informationen zum Unternehmen finden Sie unter www.SEQIS.com.
SEQIS GmbH
Wienerbergstraße 3-5
A1100 Wien
Telefon: +436648378719
Telefax: +43 (2236) 320320350
https://www.SEQIS.com
Marketing Manager
Telefon: +43 (2236) 320320-0
E-Mail: christina.eder@SEQIS.com
SEQIS
Telefon: +43 (2236) 320320-0
Fax: +43 (2236) 320320350
E-Mail: alexander.weichselberger@SEQIS.com