Testanleitung für Android 6.0

Mit Android 6.0 kannst du dafür sorgen, dass deine Apps mit der nächsten Version der Plattform funktionieren. Dieser Release enthält eine Reihe von APIs und Verhaltensänderungen, die sich auf Ihre Anwendung auswirken können, wie unter API-Übersicht und Verhaltensänderungen beschrieben. Beim Testen deiner App mit diesem Release gibt es einige spezifische Systemänderungen, auf die du dich konzentrieren solltest, um eine gute Nutzerfreundlichkeit zu gewährleisten.

In diesem Leitfaden wird beschrieben, was und wie du Android 6.0-Funktionen mit deiner App testen kannst. Du solltest diese spezifischen Funktionen priorisieren, da sie große potenzielle Auswirkungen auf das Verhalten deiner App haben:

Berechtigungen testen

Das neue Berechtigungsmodell ändert die Art und Weise, wie Ihrer App Berechtigungen durch den Nutzer zugewiesen werden. Anstatt während der Installation alle Berechtigungen zu gewähren, muss Ihre Anwendung den Nutzer während der Laufzeit um einzelne Berechtigungen bitten. Nutzer haben dadurch eine bessere Kontrolle über die Aktivitäten jeder App und können besser nachvollziehen, warum die App eine bestimmte Berechtigung anfordert. Nutzer können die für eine App erteilten Berechtigungen jederzeit gewähren oder widerrufen. Diese Funktion des Release hat höchstwahrscheinlich Auswirkungen auf das Verhalten Ihrer App und kann dazu führen, dass einige Ihrer App-Funktionen nicht richtig funktionieren oder dass sie in einem eingeschränkten Zustand funktionieren.

Diese Änderung betrifft alle Apps, die auf der neuen Plattform ausgeführt werden, auch solche, die nicht auf die neue Plattformversion ausgerichtet sind. Die Plattform bietet ein eingeschränktes Kompatibilitätsverhalten für Legacy-Anwendungen. Sie sollten jedoch schon jetzt mit der Migration Ihrer App zum neuen Berechtigungsmodell beginnen und eine aktualisierte Version Ihrer App bei der offiziellen Markteinführung veröffentlichen.

Testtipps

Die folgenden Tipps sollen dir dabei helfen, deine App mit dem neuen Berechtigungsverhalten zu testen und zu planen.

  • Ermitteln Sie die aktuellen Berechtigungen Ihrer App und die zugehörigen Codepfade.
  • Nutzerflüsse über berechtigungsgeschützte Dienste und Daten hinweg testen
  • Teste die Berechtigungen mit verschiedenen Kombinationen von erteilten/widerrufenen Berechtigungen.
  • Mit dem adb-Tool können Sie Berechtigungen über die Befehlszeile verwalten:
    • Berechtigungen und Status nach Gruppe auflisten:
      adb shell pm list permissions -d -g
    • Sie können anhand der folgenden Syntax eine oder mehrere Berechtigungen gewähren oder aufheben:
      adb shell pm [grant|revoke] <permission.name> ...
  • Analysiere deine App auf Dienste, die Berechtigungen verwenden.

Teststrategie

Die Änderung der Berechtigungen wirkt sich sowohl auf die Struktur und das Design Ihrer App als auch auf die Nutzererfahrung und die Abläufe aus, die Sie den Nutzern anbieten. Sie sollten die aktuelle Berechtigungsnutzung Ihrer App prüfen und mit der Planung neuer Abläufe beginnen, die Sie anbieten möchten. Der offizielle Release der Plattform bietet ein Kompatibilitätsverhalten. Du solltest jedoch eine Aktualisierung deiner App planen und dich nicht auf diese Einstellungen verlassen.

Ermitteln Sie die Berechtigungen, die Ihre App tatsächlich benötigt und verwendet, und ermitteln Sie dann die verschiedenen Codepfade, die die berechtigungsgeschützten Dienste verwenden. Dies können Sie durch eine Kombination aus Tests auf der neuen Plattform und Codeanalyse erreichen. Beim Testen solltest du dich darauf konzentrieren, Laufzeitberechtigungen zu aktivieren, indem du die targetSdkVersion der App auf API-Level 23 änderst.

Testen Sie verschiedene Kombinationen von Berechtigungen, die widerrufen und hinzugefügt wurden, um die Nutzerflüsse hervorzuheben, die von Berechtigungen abhängen. Wenn eine Abhängigkeit nicht offensichtlich oder logisch ist, sollten Sie diesen Ablauf refaktorieren oder aufteilen, um die Abhängigkeit zu beseitigen oder deutlich zu machen, warum die Berechtigung erforderlich ist.

Weitere Informationen zum Verhalten von Laufzeitberechtigungen, Tests und Best Practices finden Sie unter Mit Systemberechtigungen arbeiten für Entwickler.

Stromsparmodus und App-Standby testen

Die Energiesparfunktionen des Stromsparmodus und der App-Standby-Funktion schränken die Menge der Hintergrundverarbeitung ein, die deine App ausführen kann, wenn ein Gerät inaktiv ist oder deine App nicht im Fokus ist. Zu den Einschränkungen, die das System für Apps auferlegen kann, gehören eingeschränkter oder kein Netzwerkzugriff, angehaltene Hintergrundaufgaben, ausgesetzte Benachrichtigungen, ignorierte Wake-Anfragen und Alarme. Damit sich deine App nach diesen energiesparenden Optimierungen ordnungsgemäß verhält, solltest du sie testen, indem du diese Niedrigleistungszustände simulieren.

App mit dem Stromsparmodus testen

So testen Sie den Stromsparmodus mit Ihrer App:

  1. Konfiguriere ein Hardwaregerät oder ein virtuelles Gerät mit einem System-Image von Android 7.0 (API-Level 24).
  2. Verbinden Sie das Gerät mit Ihrem Entwicklungscomputer und installieren Sie Ihre App.
  3. Führen Sie die App aus und lassen Sie sie aktiv.
  4. Führen Sie die folgenden Befehle aus, um das Gerät in den Stromsparmodus zu versetzen:
    $ adb shell dumpsys battery unplug
    $ adb shell dumpsys deviceidle step
    $ adb shell dumpsys deviceidle -h
    
  5. Beobachten Sie das Verhalten Ihrer App, wenn das Gerät wieder aktiviert wird. Achte darauf, dass es problemlos wiederhergestellt wird, wenn das Gerät den Stromsparmodus beendet.

Apps mit App-Stand-by testen

So testen Sie den App-Stand-by-Modus mit Ihrer App:

  1. Konfiguriere ein Hardwaregerät oder ein virtuelles Gerät mit einem System-Image von Android 7.0 (API-Level 24).
  2. Verbinden Sie das Gerät mit Ihrem Entwicklungscomputer und installieren Sie Ihre App.
  3. Führen Sie die App aus und lassen Sie sie aktiv.
  4. Führen Sie die folgenden Befehle aus, um zu simulieren, dass die App in den Standby-Modus wechselt:
    $ adb shell am broadcast -a android.os.action.DISCHARGING
    $ adb shell am set-idle <packageName> true
    
  5. Verwenden Sie folgenden Befehl, um den Ruhemodus der App zu simulieren:
    $ adb shell am set-idle <packageName> false
  6. Beobachten Sie das Verhalten Ihrer App, wenn sie aktiviert ist. Achten Sie darauf, dass es sich ordnungsgemäß aus dem Stand-by-Modus wiederhergestellt hat. Sie sollten insbesondere prüfen, ob die Benachrichtigungen und Hintergrundjobs Ihrer App weiterhin wie erwartet funktionieren.

Automatische Sicherung für Apps und gerätespezifische IDs

Wenn Ihre App gerätespezifische Kennungen wie die Registrierungs-ID von Google Cloud Messaging im internen Speicher speichert, beachten Sie die Best Practices, um den Speicherort von der automatischen Sicherung auszuschließen, wie unter Nutzerdaten mit automatischer Sicherung sichern beschrieben.