Testanforderungen

GTS-Tests (GtsSafetyCenterTestCases)

GTS-Tests schränken die Konfigurationsdatei ein. Weitere Informationen finden Sie unter Konfigurationsdatei aktualisieren. Ein Gerät ist von diesen Tests ausgenommen, wenn es den Dienst „Sicherheitscenter“ nicht unterstützt.

Es gelten die folgenden Einschränkungen:

  • Es sollten mindestens sieben Safety Center-Quellgruppen vorhanden sein, die sich im unveränderten oder Standardstatus befinden sollten. Bestimmte Felder wie Titel von Quellen, der anfängliche Anzeigestatus und die Zusammenfassung werden manchmal von überlagerbaren Strings unterstützt und können geändert werden.
  • Für GoogleAppSecuritySources:

    • Entfernen oder ändern Sie die Sicherheitsquelle GooglePlayProtect nicht.
    • Sie können die GoogleAppProtectionService-Sicherheitsquelle entfernen oder ändern. Wenn das der Fall ist, gehen Sie so vor:
      • Sie muss Logging unterstützen.
      • Wenn der Paketname unverändert ist, muss er unter Android 13 initialDisplayState="hidden" enthalten. Unter Android 14 und 15 muss es sich stattdessen um ein issue-only-safety-source handeln und die deduplicationGroup muss unverändert bleiben. Unter Android 16 muss es sich stattdessen um ein dynamic-safety-source handeln, initialDisplayState="hidden" enthalten und die deduplicationGroup muss unverändert bleiben.
      • Wenn der Paketname geändert wird, muss er die Rolle "android.app.role.SYSTEM_APP_PROTECTION_SERVICE" haben. Unter Android 14 darf er außerdem keine deduplicationGroup haben.
  • Für AndroidLockScreenSources:

    • Die summary-Instanz der Gruppe ist erforderlich und kann geändert werden, z. B. mit einem String-Overlay.
    • Es muss mindestens eine Sicherheitsquelle vorhanden sein.
    • Die erste Sicherheitsquelle soll die Quelle sein, die die Sperrbildschirmeinstellungen steuert. Sie darf keine Probleme oder Einträge mit einer höheren Priorität als SEVERITY_LEVEL_RECOMMENDATION (maxSeverityLevel="300" oder bis zu gelben Einträgen oder Warnkarten) senden. Unter Android 14 darf deduplicationGroup nicht geändert werden.
    • Die anderen Sicherheitsquellen sollten mit biometrischen Entsperrmechanismen zusammenhängen und maxSeverityLevel="0" haben.
  • Ändern Sie unter Android 13 weder GoogleAccountSources noch GoogleDeviceFinderSources noch AndroidAdvancedSources. In Android 14 können Sie einige der neuen Quellen entfernen, die in diesen Gruppen eingeführt wurden (z. B. Sicherung und Wiederherstellung). Sie können der Gruppe AndroidAdvancedSources auch neue statische Quellen hinzufügen.

  • Für GoogleUpdateSources:

    • Sie können intentAction durch GoogleSecurityUpdates ersetzen und das Element mit einem String-Overlay anpassen.
    • Ändern Sie GooglePlaySystemUpdate nicht.
  • Für AndroidPrivacySources:

    • Sie können einige Quellen hinzufügen, entfernen oder ändern, sofern sie issue-only sind.
    • Sie müssen packageName="com.google.android.permissioncontroller" einhalten.
    • Ändern Sie die übrigen AndroidPrivacySources-Quellen nicht.
  • Für die übrigen Sicherheitsgruppen (falls vorhanden):

    • Gruppen sollten keine summary oder statelessIconType enthalten, da dies zu einer SAFETY_SOURCES_GROUP_TYPE_RIGID-Gruppe führt (SAFETY_SOURCES_GROUP_TYPE_STATELESS in Android 14).
    • Jede Quelle in jeder Gruppe sollte entweder statisch sein oder maxSeverityLevel="0" haben, z. B. dürfen graue oder grüne Einträge gesendet werden, aber es dürfen keine Probleme auftreten.

CTS-Tests (CtsSafetyCenterTestCases)

Ab Android 13 gelten CTS-Tests für alle OEMs, die PermissionController unterstützen.

Konfigurationsdateitests (XmlConfigTest)

Diese Tests sorgen für Folgendes:

  • Die geparste XML-Konfigurationsdatei stimmt mit der vom Safety Center geparsten und freigegebenen Konfiguration überein und das Parsen war erfolgreich.
  • Wenn die Intent-Aktion android.settings.PRIVACY_ADVANCED_SETTINGS in der XML-Datei vorhanden ist, muss diese Aktion aufgelöst werden.
  • Wenn die Intent-Aktion android.settings.PRIVACY_CONTROLS in der XML-Datei vorhanden ist, muss diese Aktion aufgelöst werden.

UI-Tests (SafetyCenterActivityTest)

Diese Tests sorgen für Folgendes:

  • Die Intent-Aktion android.intent.action.SAFETY_CENTER wird verarbeitet und öffnet den Bildschirm Sicherheit und Datenschutz, wenn der Dienst „Sicherheitscenter“ aktiviert ist, oder den Bildschirm „Einstellungen“, wenn der Dienst deaktiviert ist.

API-Tests (SafetyCenterManagerTest)

Ziel der SafetyCenterManagerTest API-Tests ist es, sicherzustellen, dass die Safety Center APIs wie vorgesehen funktionieren.

Diese Tests sorgen für Folgendes:

  • SafetyCenterManager.isSafetyCenterEnabled wird vom zugehörigen Flag DeviceConfig gesteuert.
  • Wenn die APIs des Safety Centers deaktiviert sind, werden keine Aktionen ausgeführt.
  • Die Safety Center APIs können nur verwendet werden, wenn die zugehörigen Berechtigungen vorliegen.
  • Daten können dem Safety Center nur gemäß der zugrunde liegenden Konfiguration zur Verfügung gestellt werden.
  • Wenn Daten an das Safety Center gesendet werden, werden sie entsprechend angezeigt.
  • Die APIs entsprechen den Spezifikationen, die im Hilfeartikel Safety Center-Quell-APIs verwenden beschrieben sind, z. B. Aktualisierungs- oder Neuabfrageverhalten, Festlegen oder Löschen von Daten und Melden von Fehlern.
  • Die internen APIs, die für die Benutzeroberfläche freigegeben sind, funktionieren ordnungsgemäß. Beispielsweise werden die Daten vom Safety Center ordnungsgemäß zusammengeführt und können aktualisiert werden.

Nicht unterstützter Test im Play Store-Sicherheitscheck (SafetyCenterUnsupportedTest)

Mit diesem Test wird sichergestellt, dass das Sicherheitscenter deaktiviert ist, wenn das Gerät es nicht unterstützt oder die Unterstützung in der XML-Konfigurationsdatei des Frameworks deaktiviert ist.

Wenn das Gerät das Sicherheitscenter unterstützt, wird dieser Test nicht ausgeführt. Wenn das Gerät das Sicherheitscenter nicht unterstützt, werden nur dieser Test und die Tests für Datenklassen ausgeführt.

Mit diesem Test wird Folgendes sichergestellt:

  • Mit der Intent-Aktion android.intent.action.SAFETY_CENTER wird der Bildschirm „Einstellungen“ geöffnet.
  • SafetyCenterManager.isSafetyCenterEnabled gibt false zurück.
  • Die meisten Safety Center APIs reagieren nicht, wenn sie aufgerufen werden.

Tests für Datenklassen (SafetySourceDataTest, SafetySourceIssueTest usw.)

Mit Datenklassentests wie SafetySourceDataTest und SafetySourceIssueTest wird sichergestellt, dass die vom Safety Center freigegebenen Datenklassen wie SafetySourceData, SafetySourceIssue und andere zugehörige interne Klassen wie vorgesehen funktionieren.

MTS-Tests (SafetyCenterFunctionalTestCases und andere)

Diese Tests werden für alle Mainline-Updates ausgeführt und gelten für alle OEMs, die PermissionController unterstützen. Die durch diese Tests erzwungenen Anforderungen können sich bei Mainline-Updates ändern.

API-Tests (SafetyCenterManagerTest)

Diese Tests ähneln dem CTS-Test SafetyCenterManagerTest, sie testen jedoch Anforderungen, die sich bei Mainline-Updates ändern können, z. B.:

  • Prüfen des tatsächlichen Inhalts der Daten, die von den internen APIs zurückgegeben werden, die der Benutzeroberfläche zugänglich sind

UI-Tests (SafetyCenterActivityTest, SafetyCenterStatusCardTest, SafetyCenterQsActivityTest usw.)

Diese Tests sorgen für Folgendes:

  • Die Weiterleitung zum Sicherheitscenter mit bestimmten Parametern funktioniert wie vorgesehen, z. B. die Weiterleitung zu einem bestimmten Problem. Weitere Informationen finden Sie unter Zum Sicherheitscenter weiterleiten.
  • Auf der Benutzeroberfläche wird der korrekte zugrunde liegende Sicherheitsstatus angezeigt.
  • Über die Benutzeroberfläche können Sie zu separaten Bildschirmen wechseln.
  • Über die Benutzeroberfläche können Sicherheitsprobleme direkt über den Bildschirm „Sicherheitscenter“ behoben werden, wenn dies von SafetySourceIssue angegeben wird.
  • In der Benutzeroberfläche werden mehrere Warnkarten zu einem Element minimiert und können wieder in mehrere Warnkarten maximiert werden.
  • Die Daten werden aktualisiert, wenn die Seite „Sicherheitscenter“ für die entsprechenden Sicherheitscenter-Quellen geöffnet wird.
  • Die Schaltfläche „Noch einmal suchen“ wird nur unter bestimmten Umständen angezeigt.
  • Wenn Sie auf die Schaltfläche „Noch einmal scannen“ tippen, werden neue Daten abgerufen.
  • Ähnliche Tests werden auch für das Safety Center durchgeführt. Benutzerdefinierte Kacheln für die Schnelleinstellungen für Ihre App erstellen

  • Weitere Grenzfälle wie Fehler- und ausstehende Status

Tests mit mehreren Nutzern (SafetyCenterMultiUsersTest)

Ziel dieser Tests ist es, sicherzustellen, dass die API ordnungsgemäß funktioniert, wenn Daten für mehrere Nutzer oder Profile bereitgestellt werden. Weitere Informationen finden Sie unter Daten für mehrere Nutzer und Profile bereitstellen. Dazu wird eine interne Bibliothek verwendet, die die Einrichtung separater Nutzer und Profile auf dem Gerät mit Bedstead vereinfacht.

Mit diesem Test wird Folgendes sichergestellt:

  • Daten, die einem Nutzer gehören, werden mit dem zugehörigen verwalteten Profil zusammengeführt, sofern vorhanden.
  • Nur Quellen, die mit profile="all_profiles" gekennzeichnet sind, können Daten in das verwaltete Profil des Nutzers einspeisen.
  • Für jedes verwaltete Profil, das mit einem Nutzer verknüpft ist, wird ein neuer Eintrag erstellt.
  • Daten, die einem Nutzer gehören, werden nicht an einen anderen Nutzer weitergegeben.