Automated Mobile App Testing (AMAT) leicht gemacht mit Testmunk

0 Kommentar

Was bedeutet „Automated Mobile App Testing“?

Das automatische Testen von mobilen Apps (automated mobile App testing) ist wohl der Traum jedes Testmanagers respektive jeder Unternehmung, welche mobile Apps entwickelt oder einsetzt, denn das Testing ist sehr zeit- und ressourcenintensiv.

Wenn nun gewisse Abläufe automatisch getestet werden können, ergibt dies diverse positive Effekte:

  • Die Testziele lassen sich schneller und eventuell sogar besser erreichen als mit Testpersonen (Effektivität)
  • Einsparungen bei der Anzahl Testpersonen und bei der benötigten Zeit (Effizienz)
  • Höhere Flexibilität bezüglich den Release-Zyklen (Time to Market)

Wie funktioniert Automated Mobile App Testing (AMAT)

Im Prinzip genau gleich wie normales Testing, mit dem Unterschied, dass nicht eine Person die notwendigen Eingaben pro Testfall ausführt, sondern ein Computer. Das heisst, wenn Sie testen wollen, ob ein Login funktioniert und ob bei Fehleingaben die richtigen Fehlermeldungen erscheinen, so klicken nicht Sie als Tester auf den Login-Knopf innerhalb der App und geben Username und Passwort ein, sondern Sie delegieren dies an einen Computer. Das bedeutet, die Arbeit der Erstellung von Testfällen wird Ihnen nicht abgenommen, wohl aber das Durchtesten dieser einzelnen Testfälle.

Dies kann besonders dann sehr zeitintensiv werden, wenn Sie z.B. eine App in vier Sprachen testen müssen. Dazu müssen eine Person oder vier Personen das Gerät auf die gewünschte Sprache einstellen und das Login durchführen. Wenn Sie AMAT einsetzen, so können Sie das vollautomatisch testen lassen, sodass die Testpersonen sich auf andere Dinge konzentrieren können, z.B. Designfehler, welche nicht alle automatisch erkannt werden.

Der automatische Test könnte z.B. so konzipiert sein, dass zuerst der Login-Knopf gedrückt, anschliessend die User-ID und das Passwort eingegeben und auf Sign In gedrückt werden muss. Wenn anschliessend Hello world erscheint, ist der Test bestanden, ansonsten gilt er als nicht bestanden.

automated-mobile-testing-login

Abbildung 1: Das Testen einer Login-Funktion lässt sich problemlos automatisieren

Doch auch wenn Sie nur eine App-Sprache anbieten, was bei erfolgreichen Apps in der Schweiz selten der Fall ist, können Sie mit dem AMAT sehr einfach einen Testfall auf verschiedenen Testgeräten durchführen und erkennen so schnell, ob überall die Darstellung den Vorgaben entspricht.

Wieso ist Automated Mobile App Testing nötig

Der Hauptgrund liegt in der Gerätevielfalt. Wenn Sie lediglich eine iOS-App veröffentlichen, so hält sich hier der Testaufwand aufgrund der verschiedenen Gerätetypen noch in Grenzen. Falls Sie aber Android-Apps entwickeln, so werden Sie Ihre Anwendung vermutlich kaum für alle Modelle optimieren können, denn alleine im Jahr 2015 kamen 24 093 neue Modelle auf den Markt. Über 1000 Brands (Markennamen) sind alleine im Android-Markt präsent, von denen Samsung klar die breiteste Modellpalette anbietet, gefolgt von LGE, Sony und Motorola.

automated-mobile-testing-teststep-augmented-websites4

Abbildung 2: Interaktive Karte von Android-Herstellern – Quelle: https://opensignal.com

Es bleibt Ihnen nichts anderes übrig, als sich auf die wichtigsten Geräte in Ihrem Markt zu konzentrieren. Doch auch das ist bei dieser riesigen Vielfalt nicht so leicht möglich.

Auch hier bietet die interaktive Gerätekarte von Opensignal.com erste Anhaltspunkte, zumal Sie den Handymarkt in Ihrem Einzugsgebiet ebenfalls etwas kennen sollten:

Handy-Vielfalt August 2014 Handy-Vielfalt August 2015
automated-mobile-testing-websites automated-mobile-testing-websites2

Abbildung 3: Interaktive Android-Gerätekarte – Quelle: https://opensignal.com

Mit der Auswahl der Geräte wissen Sie nun, welche Bildschirmgrösse und -auflösung die verschiedenen Geräte aufweisen. Was Sie aber noch nicht wissen, ist, mit welcher Android-Version es betrieben wird. Die nachfolgende Grafik zeigt, welche Versionen noch im Markt anzutreffen sind.

automated-mobile-testing-websites3

Abbildung 4: Verteilung der Android-Versionen im Markt – Quelle: https://opensignal.com

Die enorme Gerätevielfalt verursacht einen riesigen Testaufwand, der nur automatisiert einigermassen in den Griff zu kriegen ist.

Automated Mobile App Testing spart Zeit bei der agilen Entwicklung

Nehmen wir an, Sie entwickeln in zweiwöchigen Sprints. In diesem Fall treffen Sie sich zu täglichen Standup-Meetings, an denen Sie sicherstellen müssen, dass alle Vorgaben eingehalten werden. Dies ist fast nur mit Automated Testing möglich, und zwar jeweils in der Nacht, zwischen den Standups.

automated-mobile-testing-spring

Abbildung 5: Beispiel für Automated Testing bei der App-Entwicklung

Automated Testing bringt den entscheidenden Vorteil bei einer dynamischen, agilen App-Entwicklung. Dies vor allem deshalb, weil das Testing parallel zur Entwicklung stattfinden kann – jeweils in der Nacht. Die Resultate liegen bis am anderen Morgen bereit und können dem Entwicklungsteam wieder zur Verfügung gestellt werden. Dadurch können Mobile Apps früher fertiggestellt und ausgeliefert werden, was wiederum einen Wettbewerbsvorteil gegenüber den Endkunden bedeutet. Ausserdem können auf diese Weise Fehler und teure Nachbesserungen vermieden werden. Sobald Tests erstellt sind, lassen sich diese immer wieder durchführen, was vor allem bei Regressionstests sehr wichtig ist.

testmunk.com – ein Spezialist für ‹Automated Mobile App Testing› (AMAT)

So funktioniert testmunk

Gleich nach dem Anmelden steht die Testumgebung für Sie bereit. Damit Sie diese nutzen können, müssen Sie zuerst ein paar Dinge installieren. Dabei werden Sie Schritt für Schritt geführt und alles, was Sie machen müssen, ist gut dokumentiert. Das Vorgehen unterscheidet sich etwas, je nachdem ob Sie eine Android-App oder eine iOS-App testen wollen (Windows Phone App-Testings sind in Planung). Generell müssen Sie zuerst Calabash installieren, damit Sie anschliessend Testfälle erstellen und auf der testmunk-Infrastruktur automatisiert testen können. Wie erwähnt, werden Sie dafür Schritt für Schritt geführt, sodass jeder, der Apps programmieren kann, die Anweisungen versteht.

automated-mobile-testing-android automated-mobile-testing-ios

Abbildung 6: Android- und iOS-Anleitung für die Vorbereitung der Testfälle bei testmunk.com

Nach der Installation der notwendigen Infrastruktur auf Ihrem Rechner können Sie beginnen, Testfälle zu erstellen. Diverse Grundtests sind bereits in der Library von testmunk vorhanden, sodass Sie diese nehmen und anpassen können. In der Testlibrary werden folgende Testarten unterschieden:

  • berühren
  • ausführen
  • einfügen
  • warten
  • Knöpfe
  • Bewegungen/Gesten

Dazu stehen vorbereitete Testsnippets zur Verfügung, welche entnommen und zu einem Testfall zusammengesetzt werden können. Dies ermöglicht ein sehr rasches Erstellen von Testfällen. Diese können abgespeichert und einzeln oder im Set ausgeführt werden.

Da die Programm-Snippets hinter verständlichen Sätzen verborgen sind, lässt sich ein Testfall problemlos lesen und nochmals auf die Logik überprüfen.

automated-mobile-testing-teststep-library

Abbildung 7: Vorbereitete Testfälle in der Testlibrary von testmunk

Ein Testfall könnte somit etwa wie folgt aussehen:

automated-mobile-testing-teststep-scenario

Abbildung 8: Beispiel eines Testfalls

Sobald Sie ein Set von Testfällen erstellt haben, stehen Ihnen verschiedene Möglichkeiten zur Verfügung. Sie können entweder die Tests auf einem von testmunk zur Verfügung gestellten Simulator oder auf richtigen Geräten beitestmunk testen. Die Geräte werden von testmunk in einer Cloud zur Verfügung gestellt, wobei hier die Testzeit verrechnet wird (eine gewisse Anzahl Stunden ist in den einzelnen Preisplänen bereits enthalten). Selbstverständlich können Sie die Tests auch lokal auf einem von Ihnen bereitgestellten Gerät testen. Auch hier ist genau beschrieben, wie Sie dafür vorgehen müssen.

Beim Ausführen der Tests in der testmunk-Umgebung wird bei jedem Fehler respektive Fehlverhalten ein Printscreen erstellt mit einem Kommentar, sodass nach jedem Test sehr rasch ersichtlich wird, was funktioniert hat und wo die App noch nicht wunschgemäss läuft.

automated-mobile-testing-teststep-dashboard

Abbildung 9: Die Testresultate erscheinen sofort im testmunk-Dashboard

Die Testresultate werden per Mail an eine vorgängig zu definierende Empfängergruppe gesandt, sodass unmittelbar nach den Tests die zuständigen Personen informiert werden. Dies spart administrativen Aufwand und somit Zeit, welche der Entwicklung der App zugute kommt.

automated-mobile-testing-teststep-blog

Abbildung 10: Information über die Testresultate kommen automatisch per Mail

Selbst Location-based-Anwendungen lassen sich testen

Eine der Spezialitäten bei testmunk ist die Möglichkeit Tests durchzuführen, bei denen das Gerät sich an einem speziellen Ort befinden muss, um die Richtigkeit der Funktion testen zu können. So ist es z.B. wichtig, bei der Augmented-Reality-Funktionalität der Post-App zu sehen, ob eine neue Filiale auch richtig angezeigt wird.

automated-mobile-testing-teststep-blog

Abbildung 11: Augmented-Reality-Anwendungen können simuliert werden

Da es kaum sinnvoll ist, jeweils an den entsprechenden Ort zu fahren, um die App dort zu testen, hat testmunk eine Möglichkeit eingebaut, den jeweiligen Gerätestandort zu simulieren. Dadurch kann sichergestellt werden, dass auch Location-based-Anwendungen vorgängig ausführlich getestet werden können, wie nachfolgender Testfall zeigt:

automated-mobile-testing-teststep-augmented-location

Abbildung 12: Testfälle für verschiedene Orte

Was kostet AMAT bei testmunk.com

Das automatische Testing bei www.testmunk.com kann ohne Kostenfolge ausprobiert werden. Erst wenn Sie sehen, dass diese Art von Tests für Sie interessant ist und die 3 Stunden Testdauer nicht mehr ausreichen, können Sie Ihren Account entsprechend anpassen.

Folgende Varianten stehen Ihnen zur Verfügung (Stand Sepember 2015):

automated-mobile-testing-teststep-augmented-pricing

Abbildung 13: Preispläne bei www.testmunk.com

Praxis-Tipp

Nehmen Sie vorgängig Kontakt mit dem CEO von Testmunk, Martin Poschenrieder, auf und verhandeln Sie den Preis mit ihm. Vor allem, wenn es darum geht, anhand eines Projekts herauszufinden, ob Testmunk die richtige Testumgebung bietet, werden Sie sicherlich einen speziellen Vertrag aushandeln können. Gleich nach dem Anmelden des kostenlosen Basic-Preisplans erhalten Sie eine Einladung für ein Skype-Gespräch, welches Sie nutzen sollten, um Ihre Bedürfnisse mit dem Chef und Inhaber zu besprechen. Martin Poschenrieder ist ein Deutscher, der 2012 nach Amerika ausgewandert ist und somit perfekt deutsch spricht, was sicherlich hilfreich ist für einen Projektstart.

One response on “Automated Mobile App Testing (AMAT) leicht gemacht mit Testmunk

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.