Grundlegende Qualitätskriterien für Apps

Zuletzt aktualisiert: 17. Mai 2021

Eine gute Möglichkeit, herausragende Apps zu bewerten, besteht darin, die Arbeitsabläufe in Ihrer App durchzugehen und die Benutzerfreundlichkeit und Sicherheit der App zu bewerten.

Diese Checkliste enthält eine Reihe von grundlegenden Qualitätskriterien und zugehörigen Tests, mit denen Sie die Qualität Ihrer App bewerten können. Einige dieser Kriterien sind möglicherweise leicht zu übersehen. Die Tests helfen Ihnen, sie in Ihre Testpläne aufzunehmen.

Die Checkliste enthält die Mindestanforderungen an die Qualität, die alle Apps erfüllen sollten. Ihre Tests gehen wahrscheinlich weit über das hinaus, was hier beschrieben wird.

Jeder Punkt in der Qualitätscheckliste hat eine eindeutige ID, die bei der Kommunikation mit Ihrem Team hilfreich sein kann. Sie können sich auch die vorherige Version dieser Richtlinien ansehen.

Darstellung

Ihre App sollte gegebenenfalls Standardmuster für das visuelle Design und die Interaktion von Android verwenden, um eine einheitliche und intuitive Nutzererfahrung zu bieten.

Area ID Tests Beschreibung
Navigation VX-N1 CR-3 Die App unterstützt die standardmäßige Navigation über die Schaltfläche „Zurück“ und verwendet keine benutzerdefinierten Aufforderungen für die Schaltfläche „Zurück“ auf dem Bildschirm.
VX-N2 CR-3 Die App unterstützt die Bedienung über Gesten zum Zurückgehen und Aufrufen des Startbildschirms.
VX-N3 CR-1
CR-3
CR-5

Die App behält den Nutzer- oder App-Status korrekt bei und stellt ihn wieder her.

Die App behält den Nutzer- oder App-Status bei, wenn die App den Vordergrund verlässt, und verhindert versehentliche Datenverluste, wenn Nutzer zurück zur App wechseln oder sonstige Statusänderungen auftreten.

Wenn die App in den Vordergrund zurückkehrt, sollte sie den beibehaltenen Status und alle wichtigen statusbehafteten Transaktionen wiederherstellen, die ausstanden. Dazu gehören z. B. Änderungen an bearbeitbaren Feldern, Spielfortschritt, Menüs, Videos und anderen Bereichen der App oder des Spiels.

  1. Wenn die App über die Auswahl für kürzlich verwendete Apps fortgesetzt wird, wird der Nutzer zu dem genauen Status zurückgebracht, in dem die App zuletzt verwendet wurde.
  2. Wenn die App fortgesetzt wird, nachdem das Gerät aus dem Ruhezustand (gesperrt) reaktiviert wurde, wird der Nutzer zu dem genauen Zustand zurückgebracht, in dem die App zuletzt verwendet wurde.
  3. Wenn die App über „Home“ oder „Alle Apps“ neu gestartet wird, sollte je nach dem, wie viel Zeit seit der letzten Verwendung vergangen ist, Folgendes passieren:
    • Wenn die App vor Kurzem (innerhalb von Minuten) verwendet wurde, stelle den App-Status so genau wie möglich wieder her.
    • Wenn seit der letzten Verwendung der App mehr Zeit vergangen ist, versuchen Sie, den App-Status so genau wie möglich wiederherzustellen oder die App über den Startbildschirm oder einen anderen Standardstatus zu starten.
Benachrichtigungen VX-S1 CR-9

Benachrichtigungen entsprechen den Designrichtlinien. Insbesondere:

  1. Benachrichtigungen werden nicht für Cross-Promotion oder Werbung für ein anderes Produkt verwendet, da dies im Play Store streng verboten ist.
  2. Benachrichtigungskanäle werden gemäß Best Practices definiert, anstatt alle Benachrichtigungen über einen Kanal zu senden.
  3. Die richtige Benachrichtigungspriorität auswählen
  4. Mehrere Benachrichtigungen werden nach Möglichkeit in einer Benachrichtigungsgruppe zusammengefasst.
  5. Legen Sie gegebenenfalls Zeitüberschreitungen für Benachrichtigungen fest.
  6. Benachrichtigungen bleiben nur bestehen, wenn sie sich auf laufende Ereignisse wie die Musikwiedergabe oder einen Anruf beziehen. Weitere Informationen finden Sie im Abschnitt „Funktionen“.
VX-S2 CR-9

Für Messaging-Apps, soziale Apps und Unterhaltungen:

  1. Verwenden Sie die MessagingStyle-Benachrichtigungen für Unterhaltungen.
  2. Unterstützung der Aktion „Direkt antworten“
  3. Unterstützen Sie Konversationskürzel und implementieren Sie Best Practices, um das beste Ranking für das direkte Teilen zu erzielen.
  4. Unterstützung von Bubbles
Benutzeroberfläche und Grafiken VX-U1 CR-5

Die App unterstützt Hoch- und Querformat sowie den zusammengeklappten und aufgeklappten Zustand des Geräts.

Ausrichtungen und Faltzustände bieten im Wesentlichen dieselben Funktionen und Aktionen und sorgen für funktionale Parität.

VX-U2 CR-5

Die App füllt das App-Fenster in beiden Ausrichtungen aus und wird aufgrund von Konfigurationsänderungen, einschließlich des Auf- und Zuklappens des Geräts, nicht im Letterbox-Format dargestellt.

Ein geringfügiges Letterboxing zur Kompensation kleiner Abweichungen bei der Bildschirmgeometrie ist zulässig.

VX-U3 CR-5 Die App verarbeitet schnelle Übergänge zwischen Bildschirmausrichtungen und dem Ein- und Ausklappen des Geräts korrekt, ohne dass es zu Problemen beim Rendern des Displays kommt und ohne dass der Status verloren geht.
Visuelle Qualität VX-V1 CR-all

Die App zeigt Grafiken, Text, Bilder und andere UI-Elemente ohne erkennbare Verzerrungen, Unschärfe oder Verpixelung an.

  1. Die App sollte nach Möglichkeit Vektordrawables verwenden.
  2. Die App bietet hochwertige Grafiken für alle Zielbildschirmgrößen und ‑formfaktoren.
  3. An den Rändern von Menüs, Schaltflächen und anderen UI-Elementen ist kein Aliasing zu sehen.
VX-V2 CR-all

Die App zeigt Text und Textblöcke in jeder unterstützten Sprache in akzeptabler Weise an.

  1. Die Komposition ist bei allen unterstützten Formfaktoren akzeptabel.
  2. Es sind keine abgeschnittenen Buchstaben oder Wörter zu sehen.
  3. Es sind keine unpassenden Zeilenumbrüche in Schaltflächen oder Symbolen zu sehen.
  4. Zwischen Text und umgebenden Elementen ist ausreichend Abstand.
VX-V3 CR-all Die Inhalte der App und alle Webinhalte, auf die in der App verwiesen wird, unterstützen das dunkle Design.
Bedienungshilfen VX-A1 CR-all

Berührungszielbereiche sollten mindestens 48 dp groß sein. Weitere Informationen

VX-A2 CR-all

Der Text und die Vordergrundinhalte der App müssen ein ausreichend hohes Farbkontrastverhältnis zum Hintergrund aufweisen:

  • 3,0:1 für großen Text / Grafiken
  • 4, 5:1 bei kleinem Text (Text kleiner als 18 pt oder fett und kleiner als 14 pt)

Weitere Informationen zu Farbe und Kontrast

VX-A3 CR-all Beschreiben Sie jedes UI-Element, mit Ausnahme von TextView, mit contentDescription.

Funktionalität

Ihre App muss das erwartete funktionale Verhalten implementieren.

Area ID Tests Beschreibung
Audio FN-A1 CR-1
CR-8
Die Audiowiedergabe wird fortgesetzt, wenn die App wieder in den Vordergrund wechselt, oder dem Nutzer wird angezeigt, dass die Wiedergabe pausiert ist.
FN-A2 CR-1
CR-2
CR-8
Wenn die Audiowiedergabe eine Hauptfunktion ist, sollte die App die Wiedergabe im Hintergrund unterstützen.
FN-A3 CR-0

Wenn der Nutzer die Audiowiedergabe startet, muss die App innerhalb einer Sekunde eine der folgenden Aktionen ausführen:

  1. Starten Sie die Audiowiedergabe.
  2. Stellen Sie einen visuellen Indikator bereit, der anzeigt, dass die Audiodaten vorbereitet werden.
FN-A4 CR-0 Die App sollte Audiofokus anfordern, wenn die Audiowiedergabe beginnt, und den Audiofokus aufgeben, wenn die Wiedergabe beendet wird.
FN-A5 CR-0 Die App sollte Anfragen anderer Apps zum Audiofokus verarbeiten. Eine App kann beispielsweise die Wiedergabelautstärke verringern, wenn eine andere App Sprache wiedergibt.
Medien FN-M1 CR-0
CR-6
CR-8
Wenn die App Audio im Hintergrund wiedergibt, muss sie eine Benachrichtigung mit MediaStyle erstellen.
FN-M2 CR-0 Wenn die App Videos abspielt, sollte sie die Bild-im-Bild-Wiedergabe unterstützen.
FN-M3 CR-0 Wenn die App Videos codiert, sollte sie dies mit dem HEVC-Videokompressionsstandard tun.
Teilen FN-S1 CR-0 Die App sollte beim Teilen von Inhalten das Android Sharesheet verwenden. Es kann Ziele vorschlagen, die für benutzerdefinierte Lösungen nicht verfügbar sind.
Hintergrunddienst FN-B1 CR-6 Die App vermeidet unnötig lange Dienste im Hintergrund. Damit das Gerät des Nutzers reibungslos funktioniert, wendet das System verschiedene Einschränkungen für Hintergrunddienste an. Die folgenden Anwendungsfälle gelten nicht als gute Verwendung von Hintergrunddiensten:
  • Netzwerkverbindung für Benachrichtigungen aufrechterhalten
  • Bluetooth-Verbindung aufrechterhalten
  • GPS eingeschaltet lassen

Informationen zur Auswahl der richtigen Lösung für Ihre Arbeit

Leistung und Stabilität

Ihre App sollte die von Nutzern erwartete Leistung, Stabilität, Kompatibilität und Reaktionsschnelligkeit bieten.

Area ID Tests Beschreibung
Stabilität PS-S1 CR-all
SD-1
Die App stürzt nicht ab und blockiert den UI-Thread nicht, was zu ANR-Fehlern („Android Not Responding“) führt. Nutzen Sie den Pre-Launch-Bericht von Google Play, um potenzielle Stabilitätsprobleme zu erkennen. Achten Sie nach der Bereitstellung auf die Seite Android Vitals in der Google Play Console.
Leistung PS-P1 CR-all
SD-1
Die App wird schnell geladen oder bietet dem Nutzer Feedback auf dem Bildschirm (eine Fortschrittsanzeige oder einen ähnlichen Hinweis), wenn das Laden der App länger als zwei Sekunden dauert.
PS-P2 CR-all
SD-1
Apps sollten alle 16 ms Frames rendern, um 60 Bilder pro Sekunde zu erreichen. Entwickler können die Option HWUI-Rendering-Profil beim Testen verwenden. Bei Problemen stehen Tools zur Verfügung, mit denen Sie langsames Rendern diagnostizieren können.
PS-P3 PM-1 Wenn StrictMode aktiviert ist (siehe StrictMode-Tests unten), sind beim Testen der App keine roten Blitze (Leistungswarnungen von StrictMode) zu sehen. Alle roten Blitze weisen auf schlechtes Verhalten in Bezug auf Speicher, Netzwerkzugriff oder Speicherlecks hin.
SDK PS-T1 CR-0 Die App wird auf der neuesten öffentlichen Version der Android-Plattform ausgeführt, ohne abzustürzen oder die Kernfunktionen erheblich zu beeinträchtigen.
PS-T2 SP-1 Die App richtet sich an das neueste Android-SDK, das erforderlich ist, um die Google Play-Anforderungen zu erfüllen. Dazu wird der Wert targetSdk festgelegt.
PS-T3 SP-1 Die App wird mit dem neuesten Android SDK erstellt, indem der Wert compileSdk festgelegt wird.
PS-T4 SP-2
SP-3
Alle verwendeten Google- oder Drittanbieter-SDKs sind auf dem neuesten Stand. Alle Verbesserungen an diesen SDKs, z. B. in Bezug auf Stabilität, Kompatibilität oder Sicherheit, sollten den Nutzern zeitnah zur Verfügung stehen.

Für Google-SDKs sollten Sie nach Möglichkeit SDKs verwenden, die von Google Play-Diensten unterstützt werden. Diese SDKs sind abwärtskompatibel, erhalten automatische Updates, verringern die Größe Ihres App-Pakets und nutzen die Ressourcen auf dem Gerät effizient.

Der Entwickler ist für den gesamten Code der App verantwortlich, einschließlich aller verwendeten Drittanbieter-SDKs.

PS-T5 SP-3 Die App verwendet keine Nicht-SDK-Schnittstellen.
PS-T6 SP-2 Die Produktions-App enthält keine Debug-Bibliotheken. Dies kann zu Leistungs- und Sicherheitsproblemen führen.
Akku PS-B1 BA-1 Die App unterstützt die in Android 6.0 eingeführten Funktionen zur Energieverwaltung (Doze und App-Standby) ordnungsgemäß. Wenn die Hauptfunktionen durch die Energieverwaltung beeinträchtigt werden, können nur qualifizierte Apps eine Ausnahme beantragen. Weitere Informationen finden Sie unter Unterstützung für andere Anwendungsfälle in Doze und App-Standby.

Während der Entwicklung können Entwickler das Verhalten im App-Standby-Modus und im Doze-Modus mit diesen ADB-Befehlen testen.

Um den Akkuverbrauch zu analysieren, können Entwickler den Android Studio Power Profiler oder das Tool Battery Historian in Kombination mit geplanten Hintergrundaufgaben verwenden, um unerwarteten Akkuverbrauch zu diagnostizieren.

Datenschutz & Sicherheit

Ihre App muss Nutzerdaten und personenbezogene Daten sicher und mit der entsprechenden Berechtigungsstufe verarbeiten.

Zusätzlich zu dieser Checkliste müssen Apps, die im Google Play Store veröffentlicht werden, zum Schutz der Daten von Nutzern auch den Richtlinien für Nutzerdaten entsprechen.

Area ID Tests Beschreibung
Berechtigungen SC-P1 SC-4 Die App fordert nur die absolut erforderliche Mindestanzahl an Berechtigungen an, die für den jeweiligen Anwendungsfall benötigt werden. Verwenden Sie für einige Berechtigungen wie den Standort nach Möglichkeit den groben Standort anstelle des genauen Standorts.
SC-P2

Die App fordert die Berechtigung für den Zugriff auf vertrauliche Daten (z. B. SMS, Anrufliste oder Standort) oder kostenpflichtige Dienste (z. B. Dialer oder SMS) nur an, wenn dies in direktem Zusammenhang mit den Hauptanwendungsfällen der App steht. Die Auswirkungen dieser Berechtigungen müssen dem Nutzer deutlich offengelegt werden.

Je nachdem, wie Sie die Berechtigungen verwenden, gibt es möglicherweise eine alternative Möglichkeit, den Anwendungsfall Ihrer App zu erfüllen, ohne auf den Zugriff auf vertrauliche Informationen angewiesen zu sein. Anstatt beispielsweise Berechtigungen für die Kontakte eines Nutzers anzufordern, ist es möglicherweise besser, den Zugriff über einen impliziten Intent anzufordern.

SC-P3 CR-0 Die App fordert Laufzeitberechtigungen im Kontext an, wenn die entsprechende Funktion erforderlich ist, und nicht vorab beim Start der App.
SC-P4 CR-0

In der App wird klar erläutert, warum bestimmte Berechtigungen erforderlich sind, oder es wird der empfohlene Ablauf befolgt, um zu erklären, warum eine Berechtigung benötigt wird.

SC-P5 CR-0 Die App sollte ordnungsgemäß heruntergestuft werden, wenn Nutzer eine Berechtigung verweigern oder widerrufen. Die App darf den Nutzer nicht daran hindern, auf die App zuzugreifen.
Daten und Dateien SC-DF1 SC-1 Alle vertraulichen Daten werden im internen Speicher der App gespeichert.
SC-DF2 SC-10 Es werden keine personenbezogenen oder vertraulichen Nutzerdaten im Systemlog oder in einem app-spezifischen Log protokolliert.
SC-DF3 Die App verwendet keine nicht zurücksetzbaren Hardware-IDs wie die IMEI zu Identifikationszwecken.
Identität SC-ID1 CR-0 Die App bietet Vorschläge zum automatischen Ausfüllen von Anmeldedaten und anderen vertraulichen Informationen wie Kreditkartendaten, Anschrift und Telefonnummer.
SC-ID2 CR-0 Integrieren Sie den Credential Manager für Android, um eine nahtlose Anmeldung zu ermöglichen, die Unterstützung für Passkeys, föderierte Identitäten und herkömmliche Passwörter vereint.
SC-ID3 CR-0 Die App unterstützt die biometrische Authentifizierung zum Schutz von Finanztransaktionen oder vertraulichen Informationen wie wichtigen Nutzerdokumenten.
App-Komponenten SC-AC1 SC-5

Die App legt das Attribut android:exported explizit für alle Aktivitäten, Dienste, Broadcast-Empfänger und insbesondere Contentanbieter fest.

Nur Anwendungskomponenten, die Daten mit anderen Apps teilen oder die von anderen Apps aufgerufen werden sollen, werden exportiert.

SC-AC2 CR-0
SC-4

Alle Intents und Broadcasts entsprechen den Best Practices:

  1. Verwenden Sie explizite Intents, wenn die Zielanwendung genau definiert ist.
  2. Berechtigungen mit Intents an eine andere App delegieren, die bereits die Berechtigung hat:
  3. Daten sicher zwischen Apps teilen
  4. Intents mit einer Nutzlast werden vor der Verwendung überprüft.
  5. Wenn Sie ein Intent an eine andere App übergeben müssen, damit die empfangende App einen Callback in der aufrufenden App aufrufen und erwarten kann, dürfen Sie kein verschachteltes Intent in den Extras einfügen. PendingIntent verwenden
  6. Legen Sie beim Einrichten Ihrer PendingIntents gegebenenfalls explizit das immutable-Flag fest.
SC-AC3 SC-3 Alle Komponenten, die Inhalte zwischen Ihren Apps teilen, verwenden android:protectionLevel="signature" für benutzerdefinierte Berechtigungen. Dazu gehören Aktivitäten, Dienste, Broadcast-Empfänger und insbesondere Contentanbieter.

Apps sollten nicht auf den Zugriff auf eine Liste der installierten Pakete angewiesen sein. Der Zugriff ist seit Android 11 eingeschränkt.

Netzwerke SC-N1 SC-9 Der gesamte Netzwerkverkehr wird über SSL gesendet.
SC-N2 SC-6 Die Anwendung deklariert eine Netzwerksicherheitskonfiguration.
SC-N3 Wenn die Anwendung die Google Play-Dienste verwendet, wird der Sicherheitsanbieter beim Start der Anwendung initialisiert.
WebViews SC-W1 SC-6 Verwenden Sie setAllowUniversalAccessFromFileURLs() nicht für den Zugriff auf lokale Inhalte. Verwenden Sie stattdessen WebViewAssetLoader.
SC-W2 SC-7 WebViews sollten addJavascriptInterface() nicht mit nicht vertrauenswürdigen Inhalten verwenden.

Unter Android 6.0 und höher sollten Sie stattdessen HTML-Nachrichtenkanäle verwenden.

Umsetzung SC-E1 Die App lädt keinen Code dynamisch von außerhalb des APK der App. Entwickler sollten Android App Bundles verwenden, die Play Feature Delivery und Play Asset Delivery enthalten.

Seit August 2021 ist die Verwendung von Android App Bundles für alle neuen Apps im Google Play Store obligatorisch.

Kryptografie SC-C1 Die App verwendet starke, plattformseitig bereitgestellte kryptografische Algorithmen und einen Zufallszahlengenerator. Außerdem werden in der App keine benutzerdefinierten Algorithmen implementiert.

Google Play

Ihre Apps müssen auf Google Play veröffentlicht werden können.

Area ID Tests Beschreibung
Richtlinien GP-P1 GP-all Die App hält sich strikt an die Bedingungen der Google Play-Richtlinie zu Entwicklerinhalten und bietet keine unangemessenen Inhalte, verwendet kein geistiges Eigentum oder Marken anderer usw.
GP-P2 GP-1 Die Altersfreigabe der App ist gemäß den Richtlinien zur Altersfreigabe angemessen festgelegt.
App-Detailseite GP-D1 GP-1
GP-2

Die Vorstellungsgrafik der App entspricht den Richtlinien in diesem Hilfeartikel. Stellen Sie Folgendes sicher:

  1. Der App-Eintrag enthält eine hochwertige Funktionsgrafik.
  2. Die Funktionsgrafik enthält keine Gerätebilder, Screenshots oder kleinen Text, der beim Herunterskalieren und Anzeigen auf dem kleinsten Bildschirm, für den Ihre App vorgesehen ist, unlesbar wird.
  3. Die Vorstellungsgrafik sieht nicht wie eine Anzeige aus.
GP-D2 GP-1 Die Screenshots und Videos der App zeigen oder verweisen nicht auf Nicht-Android-Geräte.
GP-D3 GP-1 Die Screenshots oder Videos der App stellen den Inhalt und die Nutzung Ihrer App nicht irreführend dar.
Nutzer-Support GP-X1 GP-1 Von Nutzern häufig gemeldete Fehler auf dem Tab „Rezensionen“ der Google Play-Seite werden behoben, wenn sie reproduzierbar sind und auf vielen verschiedenen Geräten auftreten. Wenn ein Fehler nur auf wenigen Geräten auftritt, sollten Sie ihn trotzdem beheben, wenn diese Geräte besonders beliebt oder neu sind.

Testumgebung einrichten

Für die Einrichtung einer Testumgebung für diese Checkliste empfehlen wir Folgendes:

  • Fokus auf Emulatortests: Mit dem Android-Emulator können Sie Ihre App unter verschiedenen Android-Versionen und Bildschirmauflösungen testen. Sie sollten emulierte Geräte (AVDs) einrichten, die die häufigsten Formfaktoren und Hardware-/Softwarekombinationen für Ihre Zielgruppe repräsentieren. Wir empfehlen, nicht nur auf Smartphones zu testen, sondern auch andere Formfaktoren zu berücksichtigen. Verwenden Sie dazu mindestens die folgenden Emulatoren:
    • Faltbare Geräte – 7,6 Zoll, nach innen faltbar, mit Außendisplay (im AVD Manager unter „Smartphones“ aufgeführt)
    • Tablet – Pixel C (9,94 Zoll,2.560 × 1.800 Pixel)
    • Wenn Sie Benachrichtigungen für mobile Apps testen möchten, koppeln Sie ein Mobilgerät oder einen Emulator mit dem Wear OS-Emulator – Wear OS Round 1.84“.
  • Hardwaregeräte: Ihre Testumgebung sollte eine kleine Anzahl tatsächlicher Hardwaregeräte umfassen, die die wichtigsten Formfaktoren und Hardware-/Softwarekombinationen repräsentieren, die derzeit für Verbraucher verfügbar sind. Es ist nicht erforderlich, auf jedem auf dem Markt erhältlichen Gerät zu testen. Konzentrieren Sie sich stattdessen auf eine kleine Anzahl repräsentativer Geräte, auch nur ein oder zwei Geräte pro Formfaktor.
  • Gerätetestlabore: Sie können auch Drittanbieterdienste wie Firebase Test Lab verwenden, um Ihre App auf einer Vielzahl von Geräten zu testen.
  • Mit der neuesten Android-Version testen: Sie sollten nicht nur repräsentative Android-Versionen für Ihre Zielgruppe testen, sondern auch immer die neueste Android-Version (derzeit Android 14). So wird sichergestellt, dass sich die neuesten Verhaltensänderungen nicht negativ auf die Nutzer auswirken.

Umfassendere Informationen zum Testen, einschließlich Unittests, Integrationstests und UI-Tests, finden Sie unter Grundlagen des Android-Testens.

Testverfahren

Mithilfe dieser Testverfahren können Sie verschiedene Arten von Qualitätsproblemen in Ihrer App erkennen. Sie können die Tests kombinieren oder Gruppen von Tests in Ihre eigenen Testpläne einbinden. In den obigen Abschnitten finden Sie Referenzen, die Kriterien mit diesen Testverfahren verknüpfen.

Eingeben Test Beschreibung
Core Suite CR-0

Rufen Sie alle Bereiche der App auf – alle Bildschirme, Dialogfelder, Einstellungen und alle Nutzerflüsse.

  1. Wenn die Anwendung das Bearbeiten oder Erstellen von Inhalten, das Spielen oder die Medienwiedergabe ermöglicht, sollten Sie diese Abläufe testen.
  2. Testen Sie die App, indem Sie Unterbrechungen durch andere Apps verursachen, z. B. durch den Empfang einer Benachrichtigung oder eines Anrufs. Nehmen Sie außerdem vorübergehende Änderungen an Geräteattributen vor, z. B. an der Netzwerkverbindung, der Akkufunktion, der GPS-Verfügbarkeit und der Systemlast.
  3. Alle In-App-Kaufvorgänge eingeben und testen
CR-1 Drücken Sie auf jedem App-Bildschirm die Home-Taste des Geräts oder wischen Sie bei der Gestennavigation nach oben. Starten Sie die App dann noch einmal über den Bildschirm „Alle Apps“.
CR-2 Wechseln Sie auf jedem App-Bildschirm zu einer anderen ausgeführten App und kehren Sie dann über die App-Übersicht zur zu testenden App zurück.
CR-3 Drücken Sie auf jedem App-Bildschirm (und in jedem Dialogfeld) die Zurück-Taste oder verwenden Sie die Zurück-Wischgeste.
CR-5 Drehen Sie das Gerät auf jedem App-Bildschirm mindestens dreimal zwischen Hoch- und Querformat und zwischen zugeklapptem und aufgeklapptem Zustand.
CR-6 Wechseln Sie zu einer anderen App, um die Test-App in den Hintergrund zu verschieben. Rufen Sie die Einstellungen auf und prüfen Sie, ob in der Test-App Dienste im Hintergrund ausgeführt werden. Rufen Sie unter Android 4.0 und höher den Bildschirm „Apps“ auf und suchen Sie auf dem Tab „Wird ausgeführt“ nach der App.
CR-7 Drücke die Ein/Aus-Taste, um das Gerät in den Ruhemodus zu versetzen, und drücke sie dann noch einmal, um das Display zu aktivieren.
CR-8 Richten Sie eine Displaysperre auf dem Gerät ein. Drücken Sie die Ein/Aus-Taste, um das Gerät in den Ruhemodus zu versetzen und zu sperren. Drücke dann noch einmal die Ein/Aus-Taste, um das Display zu aktivieren und das Gerät zu entsperren.
CR-9 Lösen Sie alle Arten von Benachrichtigungen aus, die die App anzeigen kann, und beobachten Sie sie in der Benachrichtigungsleiste. Erweitern Sie Benachrichtigungen, sofern möglich (Android 4.1 und höher), und tippen Sie auf alle verfügbaren Aktionen.
CR-10 Weitere Informationen finden Sie unter Unterstützung für andere Anwendungsfälle in Doze und App-Standby.
Auf SD-Karte installieren SD-1 Wiederholen Sie Core Suite mit der auf der SD‑Karte des Geräts installierten App (sofern die App diese Installationsmethode unterstützt).

Wenn Sie die App auf eine SD-Karte verschieben möchten, können Sie „Einstellungen“ > „App-Info“ > „Auf SD-Karte verschieben“ verwenden.

Leistung und Stabilität SP-1 Prüfen Sie die Android-Manifestdatei und die Build-Konfiguration, um sicherzustellen, dass die Anwendung mit dem aktuellsten verfügbaren SDK (targetSdk und compileSdk) erstellt wird.
SP-2 Prüfen Sie die Datei build.gradle auf veraltete Abhängigkeiten.
SP-3 Verwenden Sie das Lint-Tool von Android Studio, um die Verwendung von Nicht-SDK-Schnittstellen zu erkennen. Es gibt auch andere alternative Testmethoden.
Leistungsüberwachung PM-1 Wiederholen Sie Core Suite mit aktiviertem StrictMode-Profiling.

Achten Sie genau auf die Garbage Collection und ihre Auswirkungen auf die Nutzerfreundlichkeit.

Akku BA-1 Wiederholen Sie Core Suite in allen Doze- und App-Standby-Zyklen.

Achte genau auf Wecker, Timer, Benachrichtigungen, Synchronisierungen usw. Informationen zu Anforderungen und Richtlinien finden Sie unter Mit Stromsparmodus und App-Standby testen.

Sicherheit SC-1 Prüfen Sie alle Daten, die auf externen Speichermedien gespeichert sind.
SC-2 Prüfen Sie, wie die Daten, die aus externem Speicher geladen werden, verarbeitet werden.
SC-3 Überprüfen Sie alle in der Android-Manifestdatei definierten Contentanbieter. Achten Sie darauf, dass jeder Anbieter eine entsprechende protectionLevel hat.
SC-4 Prüfen Sie alle Berechtigungen, die Ihre App benötigt, in der Manifestdatei, zur Laufzeit und auf dem Bildschirm mit den App-Einstellungen („Einstellungen“ > „App-Info“) auf dem Gerät.
SC-5 Prüfen Sie alle in der Android-Manifestdatei definierten Anwendungskomponenten auf den entsprechenden Exportstatus. Die exportierte Eigenschaft muss für alle Komponenten explizit festgelegt werden.
SC-6 Prüfen Sie die Konfiguration der Netzwerksicherheit der App und achten Sie darauf, dass keine Lint-Prüfungen der Konfiguration fehlschlagen.
SC-7 Rufen Sie für jede WebView eine Seite auf, für die JavaScript erforderlich ist.
SC-8 Versuchen Sie, in jeder WebView zu Websites und Inhalten zu navigieren, die nicht direkt von Ihrer App geladen werden.
SC-9 Deklarieren Sie eine Netzwerksicherheitskonfiguration, die Datenverkehr im Klartext deaktiviert, und testen Sie die App.
SC-10 Führen Sie die Anwendung aus und testen Sie alle Hauptfunktionen, während Sie das Geräteprotokoll beobachten. Es dürfen keine privaten Nutzerinformationen protokolliert werden.
Google Play GP-1 Melden Sie sich in der Google Play Console an, um Ihr Entwicklerprofil, die App-Beschreibung, Screenshots, das Titelbild, die Altersfreigabe und das Nutzerfeedback zu prüfen.
GP-2 Laden Sie Ihre Feature-Grafik und Screenshots herunter und passen Sie sie an die Displaygrößen der Geräte und Formfaktoren an, die Sie anvisieren.
GP-3 Prüfen Sie alle grafischen Assets, Medien, Texte, Codebibliotheken und anderen Inhalte, die in der App oder im Download der Erweiterungsdatei enthalten sind.

Mit StrictMode testen

Für Leistungstests empfehlen wir, StrictMode in Ihrer App zu aktivieren und damit Vorgänge zu erfassen, die sich auf die Leistung auswirken könnten, z. B. Netzwerkzugriffe und Lese-/Schreibvorgänge für Dateien. Suchen Sie sowohl im Haupt- als auch in anderen Threads nach potenziell problematischen Vorgängen.

Sie können eine Richtlinie für die Überwachung pro Thread mit StrictMode.ThreadPolicy.Builder einrichten und die gesamte unterstützte Überwachung in der ThreadPolicy mit detectAll() aktivieren.

Achten Sie darauf, dass die visuelle Benachrichtigung von Richtlinienverstößen für ThreadPolicy über penaltyFlashScreen() aktiviert ist.