Tests GTS ( GtsSafetyCenterTestCases
)
Les tests GTS imposent des contraintes sur le fichier de configuration. Voir Mettre à jour le fichier de configuration . Un appareil est exempté de ces tests s’il ne prend pas en charge Safety Center.
Les contraintes sont les suivantes :
- Il doit y avoir au moins sept groupes 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 soutenus par 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
. S'il est présent :- Il doit prendre en charge la journalisation.
- Si le nom du package est inchangé, il doit avoir
initialDisplayState="hidden"
dans Android 13 ; dans Android 14, il doit s’agir d’uneissue-only-safety-source
et lededuplicationGroup
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 dededuplicationGroup
.
- Ne supprimez pas et ne modifiez pas la source de sécurité
Pour
AndroidLockScreenSources
:- L'instance
summary
du groupe est obligatoire et vous pouvez la modifier, y compris avec une superposition de chaînes. - 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 et elle ne devrait pas être en mesure de pousser les problèmes ou les entrées plus graves que
SEVERITY_LEVEL_RECOMMENDATION
(maxSeverityLevel="300"
ou jusqu'à des entrées ou des cartes d'avertissement jaunes). Sous Android 14, lededuplicationGroup
doit rester inchangé. - Les autres sources de sécurité sont censées être des sources liées aux mécanismes de déverrouillage biométrique et doivent avoir
maxSeverityLevel="0"
.
- L'instance
Sous Android 13, ne modifiez pas
GoogleAccountSources
,GoogleDeviceFinderSources
ouAndroidAdvancedSources
. Dans Android 14, vous pouvez supprimer certaines des nouvelles sources introduites dans ces groupes (par exemple, sauvegarde et restauration), vous pouvez également ajouter de nouvelles sources statiques au groupeAndroidAdvancedSources
.Pour
GoogleUpdateSources
:- Vous pouvez changer
intentAction
pourGoogleSecurityUpdates
et le modifier avec une superposition de chaîne. - Ne modifiez pas
GooglePlaySystemUpdate
.
- Vous pouvez changer
Pour
AndroidPrivacySources
:- Vous pouvez ajouter, supprimer ou modifier certaines sources, à condition qu'elles
issue-only
. - Ils doivent conserver
packageName="com.google.android.permissioncontroller"
. - Ne modifiez pas le reste des sources
AndroidPrivacySources
.
- Vous pouvez ajouter, supprimer ou modifier certaines sources, à condition qu'elles
Pour le reste des groupes de sources de sécurité (le cas échéant) :
- Les groupes ne doivent pas avoir
summary
oustatelessIconType
, ce qui donne lieu à un groupeSAFETY_SOURCES_GROUP_TYPE_RIGID
(SAFETY_SOURCES_GROUP_TYPE_STATELESS
dans Android 14). - Chaque source au sein de chaque groupe doit être statique ou avoir
maxSeverityLevel="0"
, par exemple, autorisée à envoyer des entrées grises ou vertes mais aucun problème.
- Les groupes ne doivent pas avoir
Tests CTS ( CtsSafetyCenterTestCases
)
À partir d'Android 13, les tests CTS s'appliquent à tous les OEM prenant en charge PermissionController
.
Tests du fichier de configuration ( XmlConfigTest
)
Ces tests garantissent :
- Le fichier de configuration XML analysé correspond à la configuration analysée et exposée par Safety Center et cette analyse a réussi.
- Si l'action d'intention
android.settings.PRIVACY_ADVANCED_SETTINGS
est présente dans le fichier XML, cette action doit être résolue. - Si l'action d'intention
android.settings.PRIVACY_CONTROLS
est présente dans le fichier XML, cette action doit être résolue.
Tests d'interface utilisateur ( SafetyCenterActivityTest
)
Ces tests garantissent :
- L'action d'intention
android.intent.action.SAFETY_CENTER
résout et ouvre l'écran des paramètres de sécurité et de 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 API ( SafetyCenterManagerTest
)
L'objectif des tests de l'API SafetyCenterManagerTest est de garantir que les API Safety Center fonctionnent comme prévu.
Ces tests garantissent ce qui suit :
-
SafetyCenterManager.isSafetyCenterEnabled
est contrôlé par l'indicateurDeviceConfig
associé. - Lorsqu'elles sont désactivées, les API Safety Center ne fonctionnent pas.
- Les API Safety Center sont utilisables uniquement lorsque les autorisations associées sont détenues.
- Les données peuvent être fournies à Safety Center uniquement conformément à la configuration sous-jacente.
- Lorsque les données sont fournies à Safety Center, elles apparaissent en conséquence.
- Les API correspondent aux spécifications décrites dans Utiliser les API sources de Safety Center , par exemple, le comportement d'actualisation ou de nouvelle analyse, la définition ou la suppression des données et le signalement des 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 Safety Center et les données peuvent être actualisées.
Test non pris en charge par Safety Center ( SafetyCenterUnsupportedTest
)
Ce test garantit que Safety Center est désactivé lorsque l'appareil ne le prend pas en charge lorsque la prise en charge est désactivée dans le fichier de configuration XML du framework.
Si l'appareil prend en charge Safety Center, ce test ne s'exécute pas. Si l'appareil ne prend pas en charge Safety Center, seuls ce test et les tests de classes de données sont exécutés.
Ce test garantit les éléments suivants :
- L'action d'intention
android.intent.action.SAFETY_CENTER
ouvre l'écran Paramètres. -
SafetyCenterManager.isSafetyCenterEnabled
renvoiefalse
. - La plupart des API Safety Center ne répondent pas lorsqu'elles sont appelées.
Tests de 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 Safety Center 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 prenant en charge PermissionController
. Les exigences imposées par ces tests peuvent changer au fil des mises à jour principales.
Tests API ( SafetyCenterManagerTest
)
Ces tests sont similaires au test CTS SafetyCenterManagerTest
, mais ils testent des exigences qui peuvent changer au fil des mises à jour principales, par exemple :
- Vérifier le contenu réel des données renvoyées par les API internes exposées à l'interface utilisateur
Tests d'interface utilisateur ( SafetyCenterActivityTest
, SafetyCenterStatusCardTest
, SafetyCenterQsActivityTest
, etc.)
Ces tests garantissent :
- La redirection vers Safety Center avec des paramètres spécifiques fonctionne comme prévu, par exemple, la redirection vers un problème spécifique. Voir Redirection vers le centre de sécurité .
- L'interface utilisateur affiche l'état de sécurité sous-jacent correct.
- L'interface utilisateur permet de naviguer vers des écrans séparés.
- L'interface utilisateur permet de résoudre les problèmes de sécurité directement à partir de l'écran Safety Center lorsque cela est spécifié par
SafetySourceIssue
. - L'interface utilisateur regroupe plusieurs cartes d'avertissement en un seul élément et permet de l'étendre en plusieurs cartes d'avertissement.
- Les données sont actualisées lorsque la page Safety Center est ouverte pour les sources Safety Center pertinentes.
- Le bouton de nouvelle analyse n'apparaît que dans des circonstances spécifiques.
- En appuyant sur le bouton de nouvelle analyse, vous récupérez de nouvelles données.
Des tests similaires sont menés pour le Centre de Sécurité. Voir Créer des vignettes de paramètres rapides personnalisées pour votre application
Cas extrêmes supplémentaires tels que les états d’erreur et les états en attente.
Tests multi-utilisateurs ( SafetyCenterMultiUsersTest
)
L'objectif de ces tests est de garantir que l'API fonctionne correctement lorsque les données sont fournies pour plusieurs utilisateurs ou profils. Voir Fournir des données pour plusieurs utilisateurs et profils . Cette configuration est réalisée à 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 garantit les éléments suivants :
- Les données appartenant à un utilisateur sont fusionnées avec son profil géré associé s'il existe.
- Seules les sources marquées avec
profile="all_profiles"
peuvent fournir des données dans le profil géré de l'utilisateur. - Une nouvelle 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 non lié.