Automatisierte Tests
Pre-Launch-Berichte sind automatisiert erstellte Berichte, die die Qualität einer App messen. Zur Generierung
der Berichte durchläuft die App verschiedenste Tests.
Die Tests bilden unzählige Szenarien und Interaktionen ab, die mit einem Android Gerät möglich sind. Dabei
werden die verschiedenen Android Versionen auf einer großen Auswahl an simulierten und physischen Geräten
unterschiedlichster Herstellern genutzt.
Innerhalb von nur wenigen Minuten durchlaufen die Tests die komplette App des Entwicklers.
Die Pre-Launch-Berichte sind Teil des Veröffentlichungsprozesses, den Apps beim Hochladen in einer der
verschiedenen Strecken („Tracks“) im Play Store durchlaufen.
Übersicht der Tracks
Die verschiedenen Tracks, unterscheiden sich durch die Zugänglichkeit für die Testgruppen. Google bietet
hierbei vier Tracks an.
Phase der Veröffentlichung
Link-Verteilung & Play Store
Unternehmensmitarbeiter + ausgewählte Nutzer
Phase der Veröffentlichung
Phase der Veröffentlichung
Unternehmensmitarbeiter + ausgewählte Nutzer
Phase der Veröffentlichung
Link-Verteilung & Play Store
Phase der Veröffentlichung
Test-Kategorien
Die im Anschluss an die Tests erstellten Berichte klären den Entwickler genau über die entdeckten Probleme in
den folgenden Kategorien auf:
- Stabilität
- Kompatibilität
- Leistung
- Barrierefreiheit
- Sicherheit
Beim Stabilitätstest werden Abstürze der App aufgezeichnet und festgehalten.
Die Tests sind speziell darauf ausgelegt kritische Stellen zu finden, an denen die App abstürzt und das
Nutzererlebnis dadurch stark eingeschränkt wird. Sie werden dabei auf vielen verschiedenen Geräten
durchgeführt, um mögliche geräteabhängige Fehler zu finden. Der Entwickler erhält dabei eine Übersicht zu
jedem Test-Gerät, der zugehörigen Android-Version, die Anzahl der Abstürze, einen Stacktrace und die
Log-Meldungen zur Nutzung der App. Den Fehlerbeschreibungen sind zusätzlich noch Screenshots und Videos
beigefügt, um die Fehlerbehebung möglichst effizient zu gestalten.
Die Kompatibilitätstests überprüfen alle APIs, die nicht im öffentlichen Android SDK enthalten sind. Es wird
dabei festgestellt, in wie weit diese mit den unterschiedlichen Geräten und Systemen kompatibel sind. Die
Kompatibilitätsprobleme werden in die drei Prioritäts-Stufen „Restricted“,“supported but with restriction
imminent“ und „Unsupported, restriction not imminent“ eingeteilt. Zu jeder inkompatiblen API gibt der
Pre-Launch-Bericht eine Erklärung zur möglichen Inkompatibilität ab.
Die Tests aus der Kategorie Leistung messen die benötigten Ressourcen beim Ausführen der App. Der Testbericht
beinhaltet die folgenden Metriken:
- Bilder pro Sekunde („Average frames per second“)
- CPU-Auslastung („Average CPU“)
- Netzwerk: gesendete Bytes / Sekunde („Average network sent“)
- Netzwerk: empfangene Bytes / Sekunde („Average network received“)
- Arbeitsspeicher („Average memory“)
Abbildung 1: Test Bericht
Die Metriken visualisieren dem Entwickler wichtige Details zur Leistung der App. Die Daten können dabei als
Durchschnittswert aller Geräte abgerufen werden oder gerätespezifisch mit einer Bildschirmaufnahme der
Nutzung überwacht werden.
Bei den Tests zur Barrierefreiheit wird die Bedienbarkeit der Applikation analysiert. Hierbei werden die
Größe der Bedienelemente und deren Sichtbarkeit ausgewertet und die Nutzbarkeit für die verschiedenen
Nutzergruppen betrachtet (bspw. für Schreibrichtungen von rechts nach links). Ein bedeutender Vorteil der
Tests zur Barrierefreiheit ist die Nutzung mehrerer Sprachen. Dadurch können mögliche UI-Probleme aufgedeckt
werden, die bspw. durch längere Texte in anderen Sprache entstehen können.
Sicherheitstests untersuchen den Code der App auf Sicherheitslücken, die von Angreifern ausgenutzt werden
könnten. Die gefundenen Sicherheitslücken sollten vor der Veröffentlichung der App behoben werden.
Testergebnisse
Die Testergebnisse aller Test-Kategorien werden in drei verschiedene Stufen eingeteilt:
Die problematischsten Ergebnisse werden als „Fehler“ eingestuft. Fehler verhindern die Nutzung der App
oder schränken das Nutzererlebnis stark ein. Die gefunden Probleme
sollten vor der Veröffentlichung der App behoben werden.
In der Stufe „Warnungen“ werden die Probleme mittlerer Qualität eingestuft. Warnungen umfassen
Probleme, die die Nutzung der App erschweren oder zukünftig verhindern könnten.
„Kleinere Probleme“ decken die unterste Stufe der Kategorisierung der gefundenen Problemen ab. Es
fallen
dabei vor allem Probleme an der Gestaltung des User Interfaces und kleinere Probleme an der Implementierung
(zumeist einfach nur Stilprobleme) an. Bemängelt werden hier oft fehlende oder nicht sichtbare
Beschreibungen, schlecht lesbare Farbkontraste und zu kleine Bereiche für Touch-Elemente.
Abbildung 2: Test Ergebnis
Einschränkungen
Will man Pre-Launch Berichte für sein Projekt verwenden, so muss man die folgenden Punkte berücksichtigen:
- Alle Test-Geräte, die zur Generierung der Pre-Launch-Berichte eingesetzt werden befinden sich in den
Vereinigten Staaten. Die App darf daher keinen lokalen Restriktionen unterliegen.
- Unter den Test-Geräten befinden sich ausschließlich Smartphones und Tablets. Wearables, TVs und andere
Geräte sind von den Tests ausgeschlossen.
- Apps, die ein Abo-Modell nutzen, können nur bedingt getestet werden, da von den Test-Szenarios keine
In-App-Käufe unterstützt werden.
- Außerdem können nur native UIs getestet werden. Apps, die mit OpenGL und Unity3D erstellt wurden können
daher nicht getestet werden. Alle Tests werden dabei in der Portrait-Ausrichtung ausgeführt.