Sobald Sie Ihre App fer­tig­ge­stellt haben, folgt als nächster Schritt das App-Testing. Die App wird dabei auf ihre Funk­ti­ons­tüch­tig­keit, Be­nut­zer­freund­lich­keit (Usability) sowie ihre Kom­pa­ti­bi­li­tät mit un­ter­schied­li­chen Geräten und Be­triebs­sys­te­men geprüft.

Die meisten Ent­wick­ler wollen nach Ent­wick­lung ihrer Ap­pli­ka­ti­on und dem Festlegen des finalen App-Designs die Anwendung natürlich schnellst­mög­lich ver­öf­fent­li­chen – doch bevor Sie Ihre Software im App-Store anbieten, sollte Sie unbedingt die Taug­lich­keit der App in ver­schie­de­nen Bereichen kon­trol­lie­ren. Gängige Methoden hierfür sind bei­spiels­wei­se Per­for­mance-, Com­pa­ti­bi­li­ty- und Usability-Tests. Diese und andere Test­ver­fah­ren werden unter dem Begriff „Mobile-Ap­pli­ca­ti­on-Testing“ (kurz „Mobile-App-Testing“) zu­sam­men­ge­fasst. Ver­schie­de­ne App-Testing-Tools un­ter­stüt­zen Sie hierbei.

Warum ist Mobile-App-Testing wichtig?

Damit eine App er­folg­reich ist, muss sie nicht nur über­zeu­gen­de Inhalte bieten und gut ver­mark­tet werden, sondern vor allem auch ein­wand­frei funk­tio­nie­ren und be­nut­zer­freund­lich gestaltet sein. Deshalb sind grund­le­gen­de Tests vor dem Release einer Ap­pli­ka­ti­on un­ver­zicht­bar – egal, ob es sich dabei um eine Mobile App oder eine Desk­top­an­wen­dung handelt.

Beim Testen von Apps kommt aber noch ein Faktor er­schwe­rend hinzu: Die Anpassung an die ver­schie­de­ne Endgeräte gestaltet sich bei (Native) Mobile Apps meist auf­wen­di­ger als bei anderer Software. In den An­fangs­jah­ren der App-Ent­wick­lung war diese Anpassung noch leichter durch­zu­füh­ren, da es erst eine relativ kleine Auswahl an Smart­phones gab. In­zwi­schen existiert jedoch eine große Vielzahl an Mo­bil­ge­rä­ten mit ganz un­ter­schied­li­cher Aus­stat­tung. Die jeweilige Hardware un­ter­schei­det sich so gut wie bei jedem Smart­phone- und Tablet-Modell. Bezüglich der verbauten Kom­po­nen­ten sind vor allem Aspekte wie der Prozessor (CPU), der Ar­beits­spei­cher (RAM) sowie die Bild­schirm­grö­ße und Bild­schirm­auf­lö­sung aus­schlag­ge­bend für die Wie­der­ga­be einer Ap­pli­ka­ti­on.

Neben der Hardware spielt aber auch die Software eines mobilen Geräts eine Rolle. Hier sind es in erster Linie die ver­schie­de­nen Be­triebs­sys­te­me einer Plattform, die Einfluss auf die App-Wie­der­ga­be haben. Ältere Be­triebs­sys­te­me können aufgrund fehlender Ak­tua­li­sie­rung die App-Nutzung er­schwe­ren – und die Ver­brei­tung älterer Versionen von Android und iOS darf man nicht un­ter­schät­zen. Deutlich wird die Vielfalt der ver­wen­de­ten Be­triebs­sys­te­me besonders dann, wenn man sich die Nutzung ver­schie­de­ner Android-Aus­füh­run­gen anschaut: Insgesamt werden die älteren Versionen von Googles Be­triebs­sys­tem stärker genutzt als die aktuelle Fassung. Dies hat auch damit zu tun, dass bei Android viele Her­stel­ler Updates nicht oder nur spät aus­lie­fern. Bei iOS gelangt zwar die neue Version des Be­triebs­sys­tems ty­pi­scher­wei­se schneller auf die iPhones und iPads der Nutzer, doch sehr alte Geräte bekommen von Apple keine Updates mehr, wodurch man auch auf einigen Apple-Geräten ältere iOS-Versionen finden kann.

Die Vielfalt an Hardware und Software mobiler Endgeräte wird mit dem Begriff der Frag­men­tie­rung be­zeich­net – sie stellt die App-Qua­li­täts­si­che­rung vor viele Her­aus­for­de­run­gen. An dieser Stelle kommt das Mobile-App-Testing ins Spiel: Dadurch wird überprüft, ob eine Ap­pli­ka­ti­on unter un­ter­schied­li­chen Vor­aus­set­zun­gen überhaupt lauffähig ist, und – falls ja – ob sich Schwie­rig­kei­ten bei der Wie­der­ga­be der An­wen­dun­gen ergeben. Das Aufdecken und Beheben solcher Miss­stän­de soll ein optimales Nut­zungs­er­leb­nis für möglichst viele User ge­währ­leis­ten. Denn nur, wenn eine App auf so vielen Mo­bil­ge­rä­ten wie möglich eine gute Per­for­mance und Be­nut­zer­freund­lich­keit bietet, hat die Anwendung die größt­mög­li­che Reich­wei­te.

Wie testet man eine App?

App-Testing ist nicht gleich App-Testing: Generell gibt es für die Qua­li­täts­si­che­rung ver­schie­de­ne Ansätze. Die beiden zentralen Fragen hierbei sind, wer die Qualität der Anwendung über­prü­fen soll (manuelle oder au­to­ma­ti­sier­te Tests) und wie dies geschehen soll (Tests auf dem je­wei­li­gen Gerät oder via Simulator bzw. Emulator).

Manuelle vs. au­to­ma­ti­sier­te App-Tests

Manuelle App-Tests (durch­ge­führt von Nutzern) Das manuelle Testen stellt die klas­si­sche Variante des Mobile-App-Testings dar – hierbei prüfen Menschen die jeweilige Anwendung. Da das Testen von Ap­pli­ka­tio­nen sehr um­fang­reich sein kann (ins­be­son­de­re bei Android-Apps), kann das Ent­wick­ler­team dies meist nicht selbst leisten. Dem­entspre­chend häufig werden Probanden ein­ge­setzt. Hierbei wird eine (im besten Fall re­prä­sen­ta­tiv große) Gruppe zu­sam­men­ge­stellt, die die App gemäß vor­ge­ge­be­ner Test­sze­na­ri­en nutzt und an­schlie­ßend bewertet. Externe Test­per­so­nen haben den Vorteil, dass sie über kein Vorwissen hin­sicht­lich der Funk­ti­ons­wei­se der Anwendung verfügen und somit bei der Bewertung einer Ap­pli­ka­ti­on dem Urteil po­ten­zi­el­ler Nutzer am nächsten kommen. Beim manuellen Mobile-App-Testing stellt neben dieser klas­si­schen Vor­ge­hens­wei­se auch das Crowd­test­ing eine Option dar. Crowd­test­ing-Dienst­leis­ter bieten einen Pool an Testern an. So können Sie sich ziel­grup­pen­ge­rech­te Test­per­so­nen aussuchen, die Ihre App auf ihren per­sön­li­chen Geräten testen. Das Crowd­test­ing findet also nicht in einer spe­zi­el­len Test­um­ge­bung statt, sondern im na­tür­li­chen Umfeld der Nutzer, was die Aus­sa­ge­kraft der Test­ergeb­nis­se durchaus erhöhen kann. Für iOS-Apps (und ebenso für watchOS sowie tvOS-Apps) kann man über das so­ge­nann­te TestF­light-Beta-Testing bis zu 2000 Teil­neh­mer zum Testen der Anwendung einladen und so Crowd­tests selber or­ga­ni­sie­ren. Auch Google bietet Soft­ware­ent­wick­lern ver­schie­de­ne Optionen für ge­schlos­se­ne und öf­fent­li­che Betatests von Android-Apps an. Au­to­ma­ti­sier­te App-Tests (durch­ge­führt von App-Testing-Tools) Im Gegensatz zu manuellen Tests setzt man au­to­ma­ti­sier­te Kon­trol­len vor allem in Bereichen ein, in denen bestimmte Prozesse kon­ti­nu­ier­lich unter ver­schie­de­nen Be­din­gun­gen geprüft werden. Für au­to­ma­ti­sier­te App-Tests verwendet man eine spezielle Software. Der große Vorteil liegt hierbei in der Zeit­er­spar­nis – Test­vor­gän­ge können Programme innerhalb eines Bruch­teils der Zeit durch­füh­ren, die ein mensch­li­cher Nutzer hierfür bräuchte. Al­ler­dings bietet sich die Au­to­ma­ti­sie­rung nicht für alle Test­fel­der an.

Physische Mo­bil­ge­rä­te vs. Simulator/Emulator

Test auf phy­si­schen Mo­bil­ge­rä­ten

Das Testen der App auf den je­wei­li­gen Mo­bil­ge­rä­ten ist die ideale Lösung, um die Funk­ti­ons­wei­se einer App in Kom­bi­na­ti­on mit einer spe­zi­el­len Soft- und Hardware nach­zu­voll­zie­hen. Jedoch ist dies recht kosten- und zeit­in­ten­siv, da Sie für um­fas­sen­de Tests eine große Menge an Smart­phones und Tablets benötigen und auf jedem einzelnen der Geräte das Verhalten der App stets neu über­prü­fen müssten. Am ein­fachs­ten lässt sich dies über ver­schie­de­ne Mobile-App-Testing-Anbieter rea­li­sie­ren – bei diesen erhalten Sie Zugang zu einem Bestand an ver­schie­de­nen Mo­bil­ge­rä­ten (häufig „Device Lab“ oder „Test Lab“ genannt), mit denen Sie Ihre App testen können.

Test via Emulator/Simulator

Emu­la­to­ren und Si­mu­la­to­ren sind Programme, die bestimmte Geräte imitieren. Auf Ihnen lassen sich Ap­pli­ka­ti­on virtuell testen. Die dabei erzielten Er­geb­nis­se sind jedoch nicht immer hun­dert­pro­zen­tig ver­läss­lich, da nicht alle Nut­zer­inter­ka­tio­nen au­then­tisch simuliert werden können. Zudem sollten manche Test­for­men unbedingt auf den phy­si­schen Geräten erfolgen, da die Ge­rä­te­si­mu­la­ti­on in einigen Bereichen an ihre Grenzen stößt.

Si­mu­la­to­ren und Emu­la­to­ren können zwar die Tests auf den phy­si­schen End­ge­rä­ten nicht ersetzen, jedoch stellen sie eine gute Ergänzung zu diesen dar – sie bieten sich vor allem für au­to­ma­ti­sier­te App-Tests an. Mit ihrer Hilfe ist es möglich, schnell die Funk­ti­ons­tüch­tig­keit einer Anwendung mit un­ter­schied­li­cher Soft- und Hardware zu prüfen. Viele Emu­la­to­ren und Si­mu­la­to­ren sind zudem kostenlos er­hält­lich – so be­inhal­ten bei­spiels­wei­se das Android Studio und Apples Xcode ent­spre­chen­de Programme.

Ver­schie­de­ne Test­fel­der

Neben den ver­schie­de­nen Vor­ge­hens­wei­sen beim Testen einer Anwendung gibt es auch diverse Test­be­rei­che. Die vier folgenden App-Testing-Formen stellen nur eine Auswahl dar, sind für die Über­prü­fung einer mobilen App jedoch nahezu un­ver­zicht­bar. Neben den in diesem Abschnitt genannten Tests gibt es zu­sätz­lich noch Si­cher­heits­test/Security Testing, Lo­ca­liza­ti­on Testing sowie weitere Testarten und -bereiche.

Func­tion­al Testing/Funk­ti­ons­test

Anhand des Funk­ti­ons­tests kon­trol­lie­ren Sie, ob die App wirklich so arbeitet, wie Sie es sich wünschen. Letztlich prüft man hier alle App-Inhalte auf ihre korrekte Ar­beits­wei­se – jede Funktion, jeder Screen und jeder Button werden in­spi­ziert. Mit so­ge­nann­ten Mo­dul­tests bzw. Unit-Tests kann man dabei einzelne Kom­po­nen­ten der App testen. Func­tion­al Testing dreht sich um folgende zentrale Fragen:

  • Lässt sich die App pro­blem­los in­stal­lie­ren und wieder de­instal­lie­ren?
  • Funk­tio­nie­ren alle App-Inhalte wie vor­ge­se­hen?
  • Kann die App stö­rungs­frei fort­ge­setzt werden, wenn man sie minimiert hat?
  • Kommt es zu Abstürzen der App?
  • Erhält der User eine an­ge­mes­se­ne Feh­ler­mel­dung, wenn es zu Fehlern kommt?

Neben der App an sich sollten Sie auch das Verhalten der Anwendung in be­stimm­ten Szenarien über­prü­fen:

  • Können weitere An­wen­dun­gen und Funk­tio­nen des Geräts pro­blem­los aus­ge­führt werden, wenn die App minimiert wurde?
  • Minimiert sich die App au­to­ma­tisch, wenn ein Anruf eingeht?
  • Werden SMS und andere Be­nach­rich­ti­gun­gen während der App-Nutzung an­ge­nom­men und ge­spei­chert?

Usability-Test

Wie bei der Web-Usability spielt auch bei der App-Usabiliy das Testen eine wichtige Rolle. Mit dem App-Usability-Testing prüft man, wie be­nut­zer­freund­lich die Bedienung der App ist. Ein au­to­ma­ti­sier­ter Test ist somit keine Option – schließ­lich können nur die Nutzer ein­schät­zen, inwiefern sich eine Anwendung gut oder schlecht bedienen lässt. Auch die Ver­wen­dung eines Emulators oder Si­mu­la­tors ist in vielen Bereichen des Usability-Tests wenig sinnvoll: So lässt sich die App-Bedienung nur über die An­wen­dungs­nut­zung auf einem Mo­bil­ge­rät bewerten; erst dadurch wird er­sicht­lich, wie sich Be­dien­vor­gän­ge wie das Wischen, Scrollen und Betätigen von Buttons anfühlt und wie sich die Re­ak­ti­ons­zeit solcher Befehle verhält. Weitere Aspekte, die beim Usability-Testing geprüft werden, sind folgende:

  • Ist die Bedienung der App größ­ten­teils selbst­er­klä­rend? Werden bei kom­pli­zier­te­ren Funk­tio­nen Er­klä­run­gen angeboten?
  • Sind die App-Inhalte so platziert, dass die Nutzer un­kom­pli­ziert auf die wich­tigs­ten Funk­tio­nen zugreifen können?
  • Folgen die Plat­zie­rung der App-Inhalte und das Layout der Be­nut­zer­ober­flä­che einem roten Faden, der sich durch die gesamte App zieht und intuitiv ver­ständ­lich ist?
  • Sind die Buttons optimal po­si­tio­niert und groß genug? Denken Sie daran, dass es auch Nutzer mit breiteren Fingern gibt.
  • Sind Text­pas­sa­gen prägnant ge­schrie­ben und ist deren For­ma­tie­rung gut leserlich und weder zu groß noch zu klein?

Das Usability-Testing soll Probleme bei der Bedienung der App und Ver­säum­nis­se in der be­nut­zer­freund­li­chen Dar­stel­lung des Layouts aufdecken. Damit die Er­geb­nis­se auch aus­sa­ge­kräf­tig sind, sollten Sie beim Usability-Test darauf achten, dass ihn genügend Probanden durch­füh­ren. Ferner ist es von Vorteil, wenn sich die Test-Nutzer (zumindest größ­ten­teils) aus Personen Ihrer Ziel­grup­pe zu­sam­men­set­zen – so können die Bedienung und die Struktur des Layouts direkt ziel­grup­pen­ge­recht optimiert werden. Durch die hieraus re­sul­tie­ren­den Ver­bes­se­run­gen kann man den Usern das best­mög­li­che Nut­zungs­er­leb­nis bieten.

Com­pa­ti­bi­li­ty-Test

Die Kom­pa­ti­bi­li­tät einer App sollte hin­sicht­lich der Hardware und Software von mobilen Geräten überprüft werden. Was die Hardware betrifft, muss man bei­spiels­wei­se die Dar­stel­lung der Anwendung auf ver­schie­de­nen Displays testen. Da es un­ter­schied­li­che Bild­schirm­grö­ßen und -auf­lö­sun­gen gibt, kann es relativ schnell zu Dar­stel­lungs- und An­pas­sungs­feh­lern kommen – ins­be­son­de­re, wenn nicht mehrere Layouts der Ap­pli­ka­ti­on für ver­schie­de­ne Bild­schirm­for­ma­te erstellt wurden. Neben dem Dis­play­for­mat variieren vor allem CPU und RAM von Gerät zu Gerät. Bedenken Sie hierbei, dass ältere mobile Endgeräte keine Sel­ten­heit sind. Wenn Ihre App nicht nur für aktuelle Modelle ausgelegt ist, sondern auch auf älteren Smart­phones und Tablets ak­zep­ta­bel läuft, ver­grö­ßern Sie damit au­to­ma­tisch die Reich­wei­te Ihrer App.

Hin­sicht­lich der Geräte-Software wird die rei­bungs­lo­se App-Wie­der­ga­be mit un­ter­schied­li­chen Be­triebs­sys­tem­ver­sio­nen kon­trol­liert – ins­be­son­de­re bei einer Android-App ist ein Test der Anwendung auf diversen Versionen des Android-Be­triebs­sys­tems wichtig, da auf dieser Plattform deutlich mehr ver­schie­de­nen Versionen ver­brei­tet und genutzt werden als bei Apples iOS.

Via Com­pa­ti­bi­li­ty-Testing lässt sich nach­prü­fen, ab welcher Hardware- und Software-Aus­stat­tung die ersten Probleme mit der flüssigen Wie­der­ga­be der App auftreten. Wenn die An­for­de­run­gen an die Ge­rä­te­kom­po­nen­ten sehr hoch sind, sollten Sie über eine Reduktion be­stimm­ter Sys­tem­vor­aus­set­zun­gen nach­den­ken, da sich ansonsten Ihre Ziel­grup­pe merklich ver­klei­nert.

Per­for­mance-Test

Hier prüft man, wie viele Sys­tem­res­sour­cen die App bei in­ten­si­ver Nutzung ver­braucht. Läuft die Anwendung in Dau­er­nut­zung auch noch flüssig oder kommt es zu Aus­set­zern? Weiterhin prüft man, ob der Akku nicht übermäßig belastet wird oder ob das Gerät nach einer gewissen Nut­zungs­zeit überhitzt. Wie beim Kom­pa­ti­bi­li­täts­test wird auch die Leis­tungs­fä­hig­keit der Ap­pli­ka­ti­on unter be­stimm­ten Be­din­gun­gen kon­trol­liert – z. B. ob sich die Wie­der­ga­be der Anwendung ändert, wenn auf der Fest­plat­te des Geräts kaum noch Spei­cher­platz verfügbar oder der Akku fast leer ist. Das Per­for­mance-Testing soll aufdecken, inwieweit sich bestimmte Si­tua­tio­nen negativ auf das Verhalten der App auswirken.

Wenn man gezielt eine oder mehrere Kom­po­nen­ten unter eine hohe Aus­las­tung setzt, spricht man von einem Lasttest (englisch: Load Testing) bzw. Stress­test. Ein Beispiel hierfür ist der Server-Stress­test, bei dem das App-Verhalten bei hohen Zu­griff­stah­len auf den Server der Ap­pli­ka­ti­on geprüft wird. Bei einer Anwendung, deren Funk­tio­nen eine In­ter­net­ver­bin­dung benötigt, soll ein Netzwerk-Lasttest her­aus­fin­den, wie sich eine schwache In­ter­net­ver­bin­dung auf die App-Funk­tio­na­li­tät auswirkt. Stress­tests sollen zeigen, wieviel Belastung gewisse Kom­po­nen­ten aushalten, bevor sie in ihrer Funk­ti­ons­tüch­tig­keit ein­ge­schränkt sind.

Mobile-App-Testing-Tools

Die oben genannten Tests müssen nicht allesamt manuell durch­ge­führt werden. Diverse Testing-Tools er­leich­tern in vielen Bereichen des App-Testings die Arbeit erheblich. Da sich unser Mehr­tei­ler über die App-Ent­wick­lung mit Native Mobile Apps für iOS und Android aus­ein­an­der­setzt, eignen sich die nach­ste­hend vor­ge­stell­ten App-Testing-Tools durchweg für diese Platt­for­men.

Appium

Bei Appium handelt es sich um ein platt­form­über­grei­fen­des Open-Source-Programm zur Test­au­to­ma­ti­on, das kostenlos zum Download bereit steht. Mit dem Tool lassen sich nicht nur native Android- und iOS-Apps testen – es un­ter­stützt für diese beiden Platt­for­men auch die Test­au­to­ma­ti­sie­rung von Hybrid-Apps und Web-Apps. Bei Appium verwendet man ein und dieselbe Pro­gram­mier­schnitt­stel­le für sowohl iOS als auch Android – so kann man ge­schrie­be­nen Code ganz einfach wie­der­ver­wen­den. Die hierüber er­stell­ten Tests können auf phy­si­schen Geräten, Emu­la­to­ren und Si­mu­la­to­ren durch­ge­führt werden. Appium ist eine sehr hilf­rei­che Software für die Durch­füh­rung au­to­ma­ti­sier­ter App-Tests; das Programm setzt aber auch ein ent­spre­chen­des Know-how voraus.

TestFairy

Auf der Website von TestFairy können Sie Ihre App hochladen und Personen für den App-Test einladen. Diese können die Anwendung daraufhin down­loa­den und nutzen – mit TestFairy lässt sich sozusagen das Crowd­test­ing selbst or­ga­ni­sie­ren. Das Tool verfügt über eine Fehler-Reporting-Funktion und kann eine Vi­deo­auf­nah­me der App-Test­nut­zung erstellen. TestFairy gibt es als kos­ten­lo­se Version und in einer ge­büh­ren­pflich­ti­gen En­ter­pri­se-Variante.

Uber­tes­ters

Uber­tes­ters ist eine Plattform, die Ihnen beim Beta-Testing Ihrer App hilft. Sie haben die gesamte Kontrolle über die Tests und erhalten aus­führ­li­che Reporte. Auf der Plattform können Sie pro­blem­los im Team zu­sam­men­ar­bei­ten, Pro­gramm­feh­ler mit diversen Tools relativ einfach aufspüren, ver­schie­de­ne Test­ver­sio­nen einer App erstellen und prüfen sowie Crowd­tests durch­füh­ren (bei­spiels­wei­se in Form von Func­tion­al- und Usability-Tests). Uber­tes­ters wird in ver­schie­de­nen Paketen mit jeweils un­ter­schied­lich großem Funk­ti­ons­um­fang angeboten – die Variante mit den wenigsten Features ist kostenlos.

Auf­ge­deck­te Fehler der App beheben

Wenn ein Emulator Fehler aufdeckt, sollten Sie diese noch einmal mit dem ent­spre­chen­den phy­si­schen Gerät über­prü­fen, bevor Sie sich mit der Feh­ler­be­he­bung be­schäf­ti­gen. Nicht alle Probleme, die bei der Emulation einer App fest­ge­stellt werden, treten auch bei der realen Nutzung der Ap­pli­ka­ti­on auf. Sollten während der App-Nutzung auf dem mobilen Endgerät immer noch Un­ge­reimt­hei­ten auftreten, ist es an der Zeit zu handeln. Doch woran erkennt man, was der Auslöser einer Fehl­funk­ti­on ist? Eine exakte Feh­ler­dia­gno­se liefert das Testen von Apps nicht. Einige App-Testing-Tools können hier zwar wei­ter­hel­fen, jedoch müssen Sie die Probleme und Aussetzer der App häufig selbst ana­ly­sie­ren. In der Regel fußen diese entweder auf einer feh­ler­haf­ten Pro­gram­mie­rung oder darauf, dass bestimmte Ge­rä­te­kom­po­nen­ten nicht hun­dert­pro­zen­tig kom­pa­ti­bel mit der Anwendung sind.

Wenn Sie den Grund für eine feh­ler­haf­te Funktion der Anwendung schließ­lich gefunden haben, müssen Sie ein­schät­zen, wie wichtig die Behebung des Problems ist; und inwiefern dies überhaupt im Rahmen des Möglichen liegt, ohne dass die Funk­tio­na­li­tät der Anwendung darunter leidet. Generelle Pro­gramm­feh­ler darf die App in Ihrer finalen Version selbst­ver­ständ­lich nicht mehr aufweisen – alle fun­da­men­ta­len Features (wie die Na­vi­ga­ti­on oder die Abbildung der An­wen­dungs­in­hal­te) müssen zu jeder Zeit funk­ti­ons­fä­hig sein.

Schwie­ri­ger wird die Ent­schei­dung für oder gegen eine Feh­ler­be­he­bung, wenn die Ursache nicht auf eine man­gel­haf­te Pro­gram­mie­rung der App, sondern auf ein Problem mit be­stimm­ter Soft- oder Hardware zu­rück­zu­füh­ren ist. Das betrifft meist überholte Be­triebs­sys­te­me oder alte bzw. leis­tungs­schwa­che Mo­bil­ge­rät­kom­po­nen­ten, die die Aus­füh­rung einer oder mehrerer App-Funk­tio­nen ver­lang­sa­men oder ganz vereiteln. In so einem Fall sollten Sie am Ende des App-Testings die Er­geb­nis­se genau ana­ly­sie­ren: Welches Hard- oder Software-Element könnte dafür ver­ant­wort­lich sein, dass die Funktion nicht regulär aus­ge­führt wird? Hier hilft oft nur das Trial-and-Error-Prinzip.

Wie hoch dürfen die App-Ansprüche an die Hard- und Software sein?

Si­cher­lich ver­grö­ßern Sie die Reich­wei­te Ihrer App, wenn Sie diese so gestalten, dass die Anwendung auch auf vielen älteren Geräten lauffähig ist. Die Anpassung einer App an eine größt­mög­li­che Anzahl von End­ge­rä­ten hat aber selbst­ver­ständ­lich auch seine Grenzen. Re­chen­in­ten­si­ve Ap­pli­ka­tio­nen etwa, deren Funktion not­wen­di­ger­wei­se einen stärkeren Prozessor und/oder viel Ar­beits­spei­cher benötigen, können manchmal nicht optimal für ältere Hardware auf­be­rei­tet werden. Ein weiteres Beispiel: Wenn eine Anwendung eine leis­tungs­star­ke In­ter­net­ver­bin­dung benötigt, sollte man die App nicht um jeden Preis an eine Nut­zungs­si­tua­ti­on an­zu­pas­sen, in der nur eine schwache In­ter­net­ver­bin­dung vorhanden ist.

Manche Ap­pli­ka­tio­nen brauchen schlicht­weg gewisse tech­ni­sche Vor­aus­set­zun­gen. So benötigen manche An­wen­dun­gen eine bestimmte Bild­schirm­grö­ße, um aus­ge­führt zu werden. Ein anderes Beispiel ist die YouTube-App, die nur dann funk­tio­niert, wenn man auf eine aus­rei­chend schnelle Da­ten­über­tra­gungs­ra­te zu­rück­grei­fen kann; und dennoch ist sie eine der meist her­un­ter­ge­la­de­nen Ap­pli­ka­tio­nen überhaupt. An­pas­sun­gen und Ver­klei­ne­run­gen des Funk­ti­ons­um­fangs sollten Sie zugunsten einer größeren App-Reich­wei­te nur dann durch­füh­ren, wenn dadurch die App-Funk­tio­na­li­tät nicht stärker als gewollt reduziert wird.

Fazit: App-Testing ist un­ver­zicht­bar für die Qua­li­täts­si­che­rung

Das aus­gie­bi­ge Testen Ihrer Ap­pli­ka­ti­on bildet den letzten Schritt der App-Ent­wick­lung. Si­cher­lich ist er mit viel Arbeit verbunden, jedoch lohnt sich diese in jeder Hinsicht: Das Mobile-App-Testing trägt im Idealfall dazu bei, dass so viele User wie möglich Ihre Anwendung optimal nutzen können. Achten Sie bei den Tests auf ein aus­ge­wo­ge­nes Ver­hält­nis zwischen der Nutzung von phy­si­schen Geräten und von Emu­la­to­ren und/oder Si­mu­la­to­ren.

Wenn Sie Ihre App ge­wis­sen­haft getestet und keine gra­vie­ren­den Fehler oder Un­ge­reimt­hei­ten fest­ge­stellt bzw. diese best­mög­lich behoben haben, ist es geschafft: Sie haben Ihre App-Idee er­folg­reich umgesetzt und die Anwendung kann nun endlich im App-Store ver­öf­fent­licht werden. Al­ler­dings warten auch nun noch einige Aufgaben auf Sie:

Ei­ner­seits sollten Sie einige der bereits durch­ge­führ­ten Tests in re­gel­mä­ßi­gen Abständen wie­der­ho­len. Eine ständige Kontrolle ge­währ­leis­tet, dass die App auch in Zukunft rei­bungs­los läuft und die User best­mög­lich die Anwendung nutzen können – vor allem die Com­pa­ti­bi­li­ty- und Per­for­mance-Tests der App sollten immer wieder durch­ge­führt werden.

An­de­rer­seits ist das Ein­stel­len der Ap­pli­ka­ti­on in die App-Stores von Apple und Google auch mit einem gewissen Aufwand verbunden. Zuerst einmal müssen Sie sich für den Vertrieb Ihrer Anwendung in den Stores anmelden, womit wir unsere Ar­ti­kel­rei­he über den Weg zur eigenen App fort­füh­ren: Den fünfte Teil des Mehr­tei­lers haben wir in die Ver­öf­fent­li­chung in Apples App Store und die Re­gis­trie­rung beim Google Play Store un­ter­glie­dert. Außerdem können Sie hier nach der Ver­öf­fent­li­chung Ihrer App auch noch das Ranking der Ap­pli­ka­ti­on im Google Play Store und im Apple App Store op­ti­mie­ren – die ab­schlie­ßen­den Teile unserer Ar­ti­kel­rei­he be­inhal­ten alles Wichtige über den Umgang mit den App-Stores von Google und Apple.

Zum Hauptmenü