Testanforderungen

GTS-Tests ( GtsSafetyCenterTestCases )

GTS-Tests erlegen Einschränkungen für die Konfigurationsdatei auf. Siehe Aktualisieren der Konfigurationsdatei . Ein Gerät ist von diesen Tests ausgenommen, wenn das Gerät Safety Center nicht unterstützt.

Die Einschränkungen sind wie folgt:

  • Es sollten mindestens sieben Safety Center-Quellgruppen vorhanden sein, die im unveränderten oder Standardzustand bleiben sollten. Einige spezifische Felder wie Quellentitel, anfänglicher Anzeigestatus und Zusammenfassung werden manchmal durch überlagerbare Zeichenfolgen unterstützt und können geändert werden.
  • Für GoogleAppSecuritySources :

    • Entfernen oder ändern Sie die GooglePlayProtect Sicherheitsquelle nicht.
    • Sie können die Sicherheitsquelle GoogleAppProtectionService entfernen oder ändern. Wenn es vorhanden ist:
      • Es muss die Protokollierung unterstützen.
      • Wenn der Paketname unverändert bleibt, muss er in Android 13 initialDisplayState="hidden" haben; In Android 14 muss es sich stattdessen um eine issue-only-safety-source handeln und die deduplicationGroup muss unverändert bleiben.
      • Wenn der Paketname geändert wird, muss es die Rolle "android.app.role.SYSTEM_APP_PROTECTION_SERVICE" enthalten; Darüber hinaus darf es in Android 14 keine deduplicationGroup haben.
  • Für AndroidLockScreenSources :

    • Die summary Instanz der Gruppe ist erforderlich und Sie können sie ändern, auch mit einer Zeichenfolgenüberlagerung.
    • Es muss mindestens eine Sicherheitsquelle vorhanden sein.
    • Die erste Sicherheitsquelle soll die Quelle sein, die die Einstellungen des Sperrbildschirms steuert, und sie sollte nicht in der Lage sein, Probleme oder Einträge zu pushen, die schwerwiegender sind als SEVERITY_LEVEL_RECOMMENDATION ( maxSeverityLevel="300" oder bis zu gelbe Eintrags- oder Warnkarten). In Android 14 muss die deduplicationGroup unverändert bleiben.
    • Die anderen Sicherheitsquellen sollen Quellen im Zusammenhang mit biometrischen Entsperrmechanismen sein und sollten maxSeverityLevel="0" haben.
  • Ändern Sie in Android 13 nicht GoogleAccountSources , GoogleDeviceFinderSources oder AndroidAdvancedSources . In Android 14 können Sie einige der neuen Quellen entfernen, die in diesen Gruppen eingeführt wurden (z. B. Sichern und Wiederherstellen), Sie können auch neue statische Quellen an die Gruppe AndroidAdvancedSources anhängen.

  • Für GoogleUpdateSources :

    • Sie können intentAction für GoogleSecurityUpdates ändern und es mit einer Zeichenfolgenüberlagerung modifizieren.
    • Ändern Sie GooglePlaySystemUpdate nicht.
  • Für AndroidPrivacySources :

    • Sie können einige Quellen hinzufügen, entfernen oder ändern, sofern es sich issue-only handelt.
    • Sie müssen packageName="com.google.android.permissioncontroller" behalten.
    • Ändern Sie nicht den Rest der AndroidPrivacySources Quellen.
  • Für die übrigen Sicherheitsquellengruppen (falls vorhanden):

    • Gruppen sollten nicht summary oder statelessIconType haben, was zu einer SAFETY_SOURCES_GROUP_TYPE_RIGID Gruppe führt ( SAFETY_SOURCES_GROUP_TYPE_STATELESS in Android 14).
    • Jede Quelle innerhalb jeder Gruppe sollte entweder statisch sein oder über maxSeverityLevel="0" verfügen und beispielsweise graue oder grüne Einträge senden dürfen, aber keine Probleme.

CTS-Tests ( CtsSafetyCenterTestCases )

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

Konfigurationsdateitests ( XmlConfigTest )

Diese Tests stellen sicher:

  • Die analysierte XML-Konfigurationsdatei stimmt mit der von Safety Center analysierten und bereitgestellten Konfiguration überein und diese Analyse ist erfolgreich.
  • Wenn die Absichtsaktion android.settings.PRIVACY_ADVANCED_SETTINGS in der XML-Datei vorhanden ist, muss diese Aktion aufgelöst werden.
  • Wenn die Absichtsaktion android.settings.PRIVACY_CONTROLS in der XML-Datei vorhanden ist, muss diese Aktion aufgelöst werden.

UI-Tests ( SafetyCenterActivityTest )

Diese Tests stellen sicher:

  • Die Absichtsaktion android.intent.action.SAFETY_CENTER löst den Bildschirm „Sicherheits- und Datenschutzeinstellungen“ auf und öffnet ihn, wenn Safety Center aktiviert ist, und den Bildschirm „Einstellungen“, wenn Safety Center deaktiviert ist.

API-Tests ( SafetyCenterManagerTest )

Das Ziel der SafetyCenterManagerTest-API-Tests besteht darin, sicherzustellen, dass die Safety Center-APIs wie vorgesehen funktionieren.

Diese Tests stellen Folgendes sicher:

  • SafetyCenterManager.isSafetyCenterEnabled wird durch das zugehörige DeviceConfig Flag gesteuert.
  • Bei Deaktivierung sind die Safety Center-APIs nicht funktionsfähig.
  • Die Safety Center-APIs können nur verwendet werden, wenn die entsprechenden Berechtigungen vorhanden sind.
  • Daten können nur gemäß der zugrunde liegenden Konfiguration an Safety Center übermittelt werden.
  • Wenn Daten an Safety Center übermittelt werden, werden diese entsprechend angezeigt.
  • Die APIs entsprechen den unter „Verwenden der Safety Center-Quell-APIs“ beschriebenen Spezifikationen, z. B. Aktualisierungs- oder Neuscan-Verhalten, Festlegen oder Löschen von Daten und Melden von Fehlern.
  • Die internen APIs, die der Benutzeroberfläche zur Verfügung gestellt werden, funktionieren ordnungsgemäß. Beispielsweise werden die Daten vom Safety Center ordnungsgemäß zusammengeführt und die Daten können aktualisiert werden.

Safety Center nicht unterstützter Test ( SafetyCenterUnsupportedTest )

Dieser Test stellt sicher, dass Safety Center deaktiviert wird, wenn das Gerät es nicht unterstützt, wenn die Unterstützung in der Framework-XML-Konfigurationsdatei deaktiviert ist.

Wenn das Gerät Safety Center unterstützt, wird dieser Test nicht ausgeführt. Wenn das Gerät Safety Center nicht unterstützt, werden nur dieser Test und die Datenklassentests ausgeführt.

Dieser Test stellt Folgendes sicher:

  • Die Absichtsaktion android.intent.action.SAFETY_CENTER öffnet den Einstellungsbildschirm.
  • SafetyCenterManager.isSafetyCenterEnabled gibt false zurück.
  • Die meisten Safety Center-APIs reagieren nicht, wenn sie aufgerufen werden.

Datenklassentests ( SafetySourceDataTest , SafetySourceIssueTest usw.)

Datenklassentests wie SafetySourceDataTest und SafetySourceIssueTest stellen sicher, dass die von Safety Center bereitgestellten Datenklassen wie vorgesehen funktionieren, beispielsweise SafetySourceData , SafetySourceIssue und andere verwandte interne Klassen.

MTS-Tests ( SafetyCenterFunctionalTestCases und andere)

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

API-Tests ( SafetyCenterManagerTest )

Diese Tests ähneln dem CTS-Test SafetyCenterManagerTest , testen jedoch Anforderungen, die sich bei Hauptupdates ändern können, zum Beispiel:

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

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

Diese Tests stellen sicher:

  • Die Weiterleitung zum Safety Center mit bestimmten Parametern funktioniert wie vorgesehen, beispielsweise die Weiterleitung zu einem bestimmten Problem. Siehe Weiterleitung zum Safety Center .
  • Die Benutzeroberfläche zeigt den korrekten zugrunde liegenden Sicherheitsstatus an.
  • Die Benutzeroberfläche ermöglicht die Navigation zu separaten Bildschirmen.
  • Die Benutzeroberfläche ermöglicht die Lösung von Sicherheitsproblemen direkt über den Safety Center-Bildschirm, wenn dies durch SafetySourceIssue angegeben wird.
  • Die Benutzeroberfläche fasst mehrere Warnkarten in einem Element zusammen und ermöglicht die erneute Erweiterung auf mehrere Warnkarten.
  • Die Daten werden aktualisiert, wenn die Safety Center-Seite für die relevanten Safety Center-Quellen geöffnet wird.
  • Die Schaltfläche „Neu scannen“ wird nur unter bestimmten Umständen angezeigt.
  • Durch Tippen auf die Schaltfläche „Neu scannen“ werden neue Daten abgerufen.
  • Ähnliche Tests werden für das Safety Center durchgeführt. Siehe Erstellen benutzerdefinierter Schnelleinstellungskacheln für Ihre App

  • Zusätzliche Randfälle wie Fehlerzustände und ausstehende Zustände.

Mehrbenutzertests ( SafetyCenterMultiUsersTest )

Das Ziel dieser Tests besteht darin, sicherzustellen, dass die API ordnungsgemäß funktioniert, wenn Daten für mehrere Benutzer oder Profile bereitgestellt werden. Siehe Daten für mehrere Benutzer und Profile bereitstellen . Dieses Setup wird durch die Verwendung einer internen Bibliothek erreicht, die das Einrichten separater Benutzer und Profile auf dem Gerät mit Bedstead erleichtert.

Dieser Test stellt Folgendes sicher:

  • Daten eines Benutzers werden zusammen mit dem zugehörigen verwalteten Profil zusammengeführt, sofern vorhanden.
  • Nur Quellen, die mit profile="all_profiles" gekennzeichnet sind, können Daten im verwalteten Profil des Benutzers bereitstellen.
  • Für jedes verwaltete Profil, das einem Benutzer zugeordnet ist, wird ein neuer Eintrag erstellt.
  • Daten, die einem Benutzer gehören, werden nicht an einen anderen, nicht verwandten Benutzer weitergegeben.