Exigences concernant les 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 ni ne modifiez 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 comporter initialDisplayState="hidden" sous Android 13. Sous Android 14 et 15, il doit s'agir d'un issue-only-safety-source et le deduplicationGroup doit rester inchangé. Sous Android 16, il doit s'agir d'un dynamic-safety-source, comporter initialDisplayState="hidden" et le 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 des problèmes ou des entrées plus graves que SEVERITY_LEVEL_RECOMMENDATION (maxSeverityLevel="300" ou jusqu'à des fiches jaunes ou des fiches d'avertissement). 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 remplacer intentAction par 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.
    • Ils doivent 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 de fichiers de configuration (XmlConfigTest)

Ces tests permettent de vérifier les points suivants:

  • 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 d'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é.
  • Lorsqu'elles sont désactivées, les API Safety Center ne sont pas exécutées.
  • 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é que conformément à 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é, par exemple, le comportement d'actualisation ou de nouvelle analyse, la définition ou la suppression de données et le signalement d'erreurs.
  • Les API internes exposées à l'UI fonctionnent correctement. Par exemple, les données sont fusionnées de manière appropriée par Safety Center et 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é, seul ce test et les tests des classes de données s'exécutent.

Ce test permet de vérifier les points 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 compatibles avec PermissionController. Les exigences appliquées par ces tests peuvent changer entre les mises à jour principales.

Tests d'API (SafetyCenterManagerTest)

Ces tests sont similaires au test CTS SafetyCenterManagerTest. Toutefois, 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 SafetySourceIssue est spécifié.
  • L'UI réduit plusieurs fiches d'avertissement en un seul élément et permet de les développer à nouveau en plusieurs fiches d'avertissement.
  • Les données sont actualisées lorsque la page du Centre de sécurité est ouverte pour les sources du Centre de sécurité concernées.
  • Le bouton de nouvelle analyse ne s'affiche que dans des circonstances spécifiques.
  • Appuyer sur le bouton de nouvelle analyse 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 marquées avec 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.