Exigences relatives aux tests

Tests GTS (GtsSafetyCenterTestCases)

Les tests GTS imposent des contraintes au fichier de configuration. Consultez la section Mettre à jour le fichier de configuration. Un appareil est exempté de ces tests s'il n'est pas compatible avec le Centre de sécurité.

Les contraintes sont les suivantes:

  • Il doit y avoir au moins sept groupes de sources Safety Center, qui doivent rester dans l'état non modifié ou par défaut. Certains champs spécifiques tels que les titres des sources, l'état d'affichage initial et le résumé sont parfois basés sur des chaînes superposables et peuvent être modifiés.
  • Pour GoogleAppSecuritySources :

    • Ne supprimez pas et ne modifiez pas la source de sécurité GooglePlayProtect.
    • Vous pouvez supprimer ou modifier la source de sécurité GoogleAppProtectionService. Si elle est présente :
      • Il doit être compatible avec la journalisation.
      • Si le nom du package n'est pas modifié, il doit utiliser initialDisplayState="hidden" sous Android 13. Dans Android 14, il doit s'agir d'un issue-only-safety-source, et l'élément deduplicationGroup doit rester inchangé.
      • Si le nom du package est modifié, il doit détenir le rôle "android.app.role.SYSTEM_APP_PROTECTION_SERVICE". De plus, sous Android 14, il ne doit pas avoir de deduplicationGroup.
  • Pour AndroidLockScreenSources :

    • L'instance summary du groupe est obligatoire et vous pouvez la modifier, y compris avec une superposition de chaîne.
    • Il doit y avoir au moins une source de sécurité.
    • La première source de sécurité est destinée à être la source qui contrôle les paramètres de l'écran de verrouillage. Elle ne doit pas pouvoir transmettre de problèmes ou d'entrées plus sévères que SEVERITY_LEVEL_RECOMMENDATION (maxSeverityLevel="300" ou jusqu'aux fiches d'entrée ou d'avertissement jaunes). Dans Android 14, le deduplicationGroup doit rester inchangé.
    • Les autres sources de sécurité sont destinées à être des sources liées aux mécanismes de déverrouillage biométriques et doivent avoir maxSeverityLevel="0".
  • Sous Android 13, ne modifiez pas GoogleAccountSources, GoogleDeviceFinderSources ni AndroidAdvancedSources. Dans Android 14, vous pouvez supprimer certaines des nouvelles sources introduites dans ces groupes (par exemple, la sauvegarde et la restauration). Vous pouvez également ajouter de nouvelles sources statiques au groupe AndroidAdvancedSources.

  • Pour GoogleUpdateSources :

    • Vous pouvez modifier intentAction pour GoogleSecurityUpdates et le modifier avec une superposition de chaîne.
    • Ne modifiez pas GooglePlaySystemUpdate.
  • Pour AndroidPrivacySources :

    • Vous pouvez ajouter, supprimer ou modifier certaines sources, à condition qu'elles soient issue-only.
    • Il doit conserver packageName="com.google.android.permissioncontroller".
    • Ne modifiez pas le reste des sources AndroidPrivacySources.
  • Pour les autres groupes de sources de sécurité (le cas échéant):

    • Les groupes ne doivent pas avoir de summary ni de statelessIconType, ce qui entraîne la création d'un groupe SAFETY_SOURCES_GROUP_TYPE_RIGID (SAFETY_SOURCES_GROUP_TYPE_STATELESS sous Android 14).
    • Chaque source de chaque groupe doit être statique ou autorisée à envoyer des entrées grises ou vertes, mais sans problème (par exemple, maxSeverityLevel="0").

Tests CTS (CtsSafetyCenterTestCases)

À partir d'Android 13, les tests CTS s'appliquent à tous les OEM compatibles avec PermissionController.

Tests du fichier de configuration (XmlConfigTest)

Ces tests garantissent que:

  • Le fichier de configuration XML analysé correspond à la configuration analysée et exposée par Safety Center, et cette analyse aboutit.
  • Si l'action d'intent android.settings.PRIVACY_ADVANCED_SETTINGS est présente dans le fichier XML, cette action doit être résolue.
  • Si l'action d'intent android.settings.PRIVACY_CONTROLS est présente dans le fichier XML, cette action doit être résolue.

Tests de l'interface utilisateur (SafetyCenterActivityTest)

Ces tests permettent de vérifier les points suivants:

  • L'action d'intent android.intent.action.SAFETY_CENTER se résout et ouvre l'écran de paramètres Sécurité et confidentialité lorsque le Centre de sécurité est activé, et l'écran des paramètres lorsque le Centre de sécurité est désactivé.

Tests de l'API (SafetyCenterManagerTest)

L'objectif des tests de l'API SafetyCenterManagerTest est de s'assurer que les API Safety Center fonctionnent comme prévu.

Ces tests permettent de vérifier les points suivants:

  • SafetyCenterManager.isSafetyCenterEnabled est contrôlé par l'indicateur DeviceConfig associé.
  • Lorsque cette option est désactivée, les API du centre de sécurité sont no-op.
  • Les API Safety Center ne sont utilisables que lorsque les autorisations associées sont détenues.
  • Les données ne peuvent être fournies au centre de sécurité qu'en fonction de la configuration sous-jacente.
  • Lorsque des données sont fournies au Centre de sécurité, elles s'affichent en conséquence.
  • Les API correspondent aux spécifications décrites dans Utiliser les API sources du Centre de sécurité, telles que l'actualisation ou la réanalyse, la définition ou la suppression de données, et le signalement d'erreurs.
  • Les API internes exposées à l'interface utilisateur fonctionnent correctement. Par exemple, les données sont fusionnées de manière appropriée par le centre de sécurité et les données peuvent être actualisées.

Test non compatible avec le centre de sécurité (SafetyCenterUnsupportedTest)

Ce test garantit que le Centre de sécurité est désactivé lorsque l'appareil n'est pas compatible avec celui-ci lorsque la compatibilité est désactivée dans le fichier de configuration XML du framework.

Si l'appareil est compatible avec le Centre de sécurité, ce test n'est pas exécuté. Si l'appareil n'est pas compatible avec le centre de sécurité, seuls ce test et les tests des classes de données sont exécutés.

Ce test permet de vérifier les éléments suivants:

  • L'action d'intent android.intent.action.SAFETY_CENTER ouvre l'écran "Paramètres".
  • SafetyCenterManager.isSafetyCenterEnabled renvoie false.
  • La plupart des API Safety Center ne répondent pas lorsqu'elles sont appelées.

Tests des classes de données (SafetySourceDataTest, SafetySourceIssueTest, etc.)

Les tests de classe de données tels que SafetySourceDataTest et SafetySourceIssueTest garantissent que les classes de données exposées par le Centre de sécurité fonctionnent comme prévu, par exemple SafetySourceData, SafetySourceIssue et d'autres classes internes associées.

Tests MTS (SafetyCenterFunctionalTestCases et autres)

Ces tests sont exécutés sur les mises à jour principales et s'appliquent à tous les OEM qui acceptent PermissionController. Les exigences appliquées par ces tests peuvent changer d'une mise à jour principale à l'autre.

Tests de l'API (SafetyCenterManagerTest)

Ces tests sont similaires au test CTS SafetyCenterManagerTest, mais ils testent les exigences qui peuvent changer au fil des mises à jour principales, par exemple:

  • Vérification du contenu réel des données renvoyées par les API internes exposées à l'UI

Tests de l'interface utilisateur (SafetyCenterActivityTest, SafetyCenterStatusCardTest, SafetyCenterQsActivityTest, etc.)

Ces tests permettent de vérifier les points suivants:

  • La redirection vers le centre de sécurité avec des paramètres spécifiques fonctionne comme prévu, par exemple, en redirigeant vers un problème spécifique. Consultez Redirection vers le centre de sécurité.
  • L'UI affiche l'état de sécurité sous-jacent correct.
  • L'UI permet de naviguer vers des écrans distincts.
  • L'UI permet de résoudre les problèmes de sécurité directement depuis l'écran du centre de sécurité lorsque spécifié par SafetySourceIssue.
  • L'UI réduit plusieurs fiches d'avertissement en un seul élément et permet de les développer dans plusieurs fiches d'avertissement.
  • Les données sont actualisées lorsque la page du centre de sécurité est ouverte pour les sources concernées.
  • Le bouton de nouvelle analyse ne s'affiche que dans des circonstances spécifiques.
  • Appuyer sur le bouton "Rechercher" permet d'extraire de nouvelles données.
  • Des tests similaires sont effectués pour le Centre de sécurité. Consultez Créer des blocs "Réglages rapides" personnalisés pour votre application.

  • Cas spéciaux supplémentaires, tels que les états d'erreur et d'attente.

Tests multi-utilisateurs (SafetyCenterMultiUsersTest)

L'objectif de ces tests est de s'assurer que l'API fonctionne correctement lorsque des données sont fournies pour plusieurs utilisateurs ou profils. Consultez Fournir des données pour plusieurs utilisateurs et profils. Cette configuration est obtenue à l'aide d'une bibliothèque interne qui facilite la configuration d'utilisateurs et de profils distincts sur l'appareil à l'aide de Bedstead.

Ce test permet de vérifier les points suivants:

  • Les données appartenant à un utilisateur sont fusionnées avec le profil géré associé, le cas échéant.
  • Seules les sources signalées par profile="all_profiles" peuvent fournir des données dans le profil géré de l'utilisateur.
  • Une entrée est créée pour chaque profil géré associé à un utilisateur.
  • Les données appartenant à un utilisateur ne sont pas divulguées à un autre utilisateur sans rapport.