Pruebas GTS ( GtsSafetyCenterTestCases
)
Las pruebas GTS imponen restricciones al archivo de configuración. Consulte Actualizar el archivo de configuración . Un dispositivo está exento de estas pruebas si no es compatible con Safety Center.
Las restricciones son las siguientes:
- Debe haber al menos siete grupos de origen del Centro de seguridad, que deben permanecer en el estado predeterminado o sin modificar. Algunos campos específicos, como los títulos de las fuentes, el estado de visualización inicial y el resumen, a veces están respaldados por cadenas superpuestas y se pueden modificar.
Para
GoogleAppSecuritySources
:- No elimine ni modifique la fuente de seguridad
GooglePlayProtect
. - Puede eliminar o cambiar la fuente de seguridad
GoogleAppProtectionService
. Si está presente:- Debe admitir el registro.
- Si el nombre del paquete no se modifica, debe tener
initialDisplayState="hidden"
en Android 13; en Android 14, debe ser unaissue-only-safety-source
y eldeduplicationGroup
debe permanecer sin cambios. - Si se cambia el nombre del paquete, debe tener la función
"android.app.role.SYSTEM_APP_PROTECTION_SERVICE"
; Además, en Android 14 no debe tener undeduplicationGroup
.
- No elimine ni modifique la fuente de seguridad
Para
AndroidLockScreenSources
:- La instancia
summary
del grupo es obligatoria y puede modificarla, incluso con una superposición de cadena. - Debe haber al menos una fuente de seguridad.
- La primera fuente de seguridad está destinada a ser la fuente que controla la configuración de la pantalla de bloqueo y no debería poder generar problemas o entradas más graves que
SEVERITY_LEVEL_RECOMMENDATION
(maxSeverityLevel="300"
o hasta tarjetas de advertencia o entradas amarillas). En Android 14, eldeduplicationGroup
debe permanecer sin cambios. - Las otras fuentes de seguridad están destinadas a ser fuentes relacionadas con mecanismos de desbloqueo biométrico y deben tener
maxSeverityLevel="0"
.
- La instancia
En Android 13, no modifiques
GoogleAccountSources
,GoogleDeviceFinderSources
oAndroidAdvancedSources
. En Android 14, puede eliminar algunas de las nuevas fuentes que se introdujeron en estos grupos (por ejemplo, copia de seguridad y restauración), también puede agregar nuevas fuentes estáticas al grupoAndroidAdvancedSources
.Para
GoogleUpdateSources
:- Puede cambiar
intentAction
paraGoogleSecurityUpdates
y modificarlo con una superposición de cadena. - No modifique
GooglePlaySystemUpdate
.
- Puede cambiar
Para
AndroidPrivacySources
:- Puedes agregar, eliminar o modificar algunas fuentes, siempre que sean
issue-only
. - Deben conservar
packageName="com.google.android.permissioncontroller"
. - No modifique el resto de las fuentes
AndroidPrivacySources
.
- Puedes agregar, eliminar o modificar algunas fuentes, siempre que sean
Para el resto de grupos de fuentes de seguridad (si los hay):
- Los grupos no deben tener
summary
ostatelessIconType
, lo que da como resultado un grupoSAFETY_SOURCES_GROUP_TYPE_RIGID
(SAFETY_SOURCES_GROUP_TYPE_STATELESS
en Android 14). - Cada fuente dentro de cada grupo debe ser estática o tener
maxSeverityLevel="0"
, por ejemplo, permitido enviar entradas grises o verdes, pero sin problemas.
- Los grupos no deben tener
Pruebas CTS ( CtsSafetyCenterTestCases
)
A partir de Android 13, las pruebas CTS se aplican a todos los OEM que admiten PermissionController
.
Pruebas del archivo de configuración ( XmlConfigTest
)
Estas pruebas aseguran:
- El archivo de configuración XML analizado coincide con la configuración analizada y expuesta por Safety Center y que este análisis se realizó correctamente.
- Si la acción de intención
android.settings.PRIVACY_ADVANCED_SETTINGS
está presente en el archivo XML, entonces esta acción debe resolverse. - Si la acción de intención
android.settings.PRIVACY_CONTROLS
está presente en el archivo XML, entonces esta acción debe resolverse.
Pruebas de interfaz de usuario ( SafetyCenterActivityTest
)
Estas pruebas aseguran:
- La acción de intención
android.intent.action.SAFETY_CENTER
resuelve y abre la pantalla de configuración de seguridad y privacidad cuando el Centro de seguridad está habilitado y la pantalla de Configuración cuando el Centro de seguridad está deshabilitado.
Pruebas API ( SafetyCenterManagerTest
)
El objetivo de las pruebas de API SafetyCenterManagerTest es garantizar que las API del Centro de seguridad funcionen según lo previsto.
Estas pruebas garantizan lo siguiente:
-
SafetyCenterManager.isSafetyCenterEnabled
está controlado por el indicadorDeviceConfig
asociado. - Cuando están deshabilitadas, las API del Centro de seguridad no funcionan.
- Las API del Centro de seguridad solo se pueden utilizar cuando se tienen los permisos asociados.
- Los datos se pueden proporcionar al Centro de seguridad solo de acuerdo con la configuración subyacente.
- Cuando se proporcionan datos al Centro de seguridad, aparecen en consecuencia.
- Las API coinciden con las especificaciones descritas en Usar las API de origen del Centro de seguridad , por ejemplo, actualizar o volver a escanear el comportamiento, configurar o borrar datos e informar errores.
- Las API internas expuestas a la interfaz de usuario funcionan correctamente; por ejemplo, el Centro de seguridad combina adecuadamente los datos y los datos se pueden actualizar.
Prueba no compatible del Centro de seguridad ( SafetyCenterUnsupportedTest
)
Esta prueba garantiza que el Centro de seguridad esté deshabilitado cuando el dispositivo no lo admite cuando el soporte está deshabilitado en el archivo de configuración XML del marco.
Si el dispositivo es compatible con Safety Center, esta prueba no se ejecuta. Si el dispositivo no es compatible con Safety Center, solo se ejecutan esta prueba y las pruebas de clases de datos.
Esta prueba garantiza lo siguiente:
- La acción de intención
android.intent.action.SAFETY_CENTER
abre la pantalla Configuración. -
SafetyCenterManager.isSafetyCenterEnabled
devuelvefalse
. - La mayoría de las API del Centro de seguridad no responden cuando se las llama.
Pruebas de clases de datos ( SafetySourceDataTest
, SafetySourceIssueTest
, etc.)
Las pruebas de clases de datos, como SafetySourceDataTest
y SafetySourceIssueTest
garantizan que las clases de datos expuestas por Safety Center funcionen según lo previsto, por ejemplo, SafetySourceData
, SafetySourceIssue
y otras clases internas relacionadas.
Pruebas MTS ( SafetyCenterFunctionalTestCases
y otras)
Estas pruebas se ejecutan en las actualizaciones principales y se aplican a todos los OEM que admiten PermissionController
. Los requisitos impuestos por estas pruebas pueden cambiar entre las actualizaciones principales.
Pruebas API ( SafetyCenterManagerTest
)
Estas pruebas son similares a la prueba CTS SafetyCenterManagerTest
, sin embargo, prueban requisitos que podrían cambiar entre las actualizaciones principales, por ejemplo:
- Verificar el contenido real de los datos devueltos por las API internas expuestas a la interfaz de usuario
Pruebas de interfaz de usuario ( SafetyCenterActivityTest
, SafetyCenterStatusCardTest
, SafetyCenterQsActivityTest
, etc.)
Estas pruebas aseguran:
- Redirigir al Centro de seguridad con parámetros específicos funciona según lo previsto, por ejemplo, redirigir a un problema específico. Consulte Redirigir al Centro de seguridad .
- La interfaz de usuario muestra el estado de seguridad subyacente correcto.
- La interfaz de usuario permite navegar a pantallas separadas.
- La interfaz de usuario permite resolver problemas de seguridad directamente desde la pantalla del Centro de seguridad cuando lo especifica
SafetySourceIssue
. - La interfaz de usuario colapsa varias tarjetas de advertencia en un elemento y permite expandirla nuevamente en varias tarjetas de advertencia.
- Los datos se actualizan cuando se abre la página del Centro de seguridad para las fuentes relevantes del Centro de seguridad.
- El botón de volver a escanear aparece solo en circunstancias específicas.
- Al tocar el botón volver a escanear se obtienen nuevos datos.
Se realizan pruebas similares para el Centro de Seguridad. Ver Crear mosaicos de configuración rápida personalizados para su aplicación
Casos extremos adicionales, como estados de error y estados pendientes.
Pruebas multiusuarios ( SafetyCenterMultiUsersTest
)
El objetivo de estas pruebas es garantizar que la API funcione correctamente cuando se proporcionan datos para múltiples usuarios o perfiles. Consulte Proporcionar datos para varios usuarios y perfiles . Esta configuración se logra mediante el uso de una biblioteca interna que facilita la configuración de usuarios y perfiles separados en el dispositivo usando Bedstead.
Esta prueba garantiza lo siguiente:
- Los datos que pertenecen a un usuario se combinan con su perfil administrado asociado, si existe.
- Solo las fuentes marcadas con
profile="all_profiles"
pueden proporcionar datos en el perfil administrado del usuario. - Se crea una nueva entrada para cada perfil administrado asociado con un usuario.
- Los datos que pertenecen a un usuario no se filtran a otro usuario no relacionado.