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'unissue-only-safety-source
et lededuplicationGroup
doit rester inchangé. Sous Android 16, il doit s'agir d'undynamic-safety-source
, comporterinitialDisplayState="hidden"
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 ni ne modifiez 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î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, lededuplicationGroup
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"
.
- L'instance
Sous Android 13, ne modifiez pas
GoogleAccountSources
,GoogleDeviceFinderSources
niAndroidAdvancedSources
. 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 groupeAndroidAdvancedSources
.Pour
GoogleUpdateSources
:- Vous pouvez remplacer
intentAction
parGoogleSecurityUpdates
et le modifier avec une superposition de chaîne. - Ne modifiez pas
GooglePlaySystemUpdate
.
- Vous pouvez remplacer
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
.
- Vous pouvez ajouter, supprimer ou modifier certaines sources, à condition qu'elles soient
Pour les autres groupes de sources de sécurité (le cas échéant):
- Les groupes ne doivent pas avoir de
summary
ni destatelessIconType
, ce qui entraîne la création d'un groupeSAFETY_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"
).
- Les groupes ne doivent pas avoir de
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'indicateurDeviceConfig
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
renvoiefalse
.- 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.