Pruebas de GTS (GtsSafetyCenterTestCases
)
Las pruebas de GTS imponen restricciones en el archivo de configuración. Consulta Actualiza el de Terraform. Los dispositivos estarán exentos de estas pruebas si no son compatibles con las funciones de seguridad. Centro.
Las restricciones son las siguientes:
- Debería haber al menos siete grupos de origen del Centro de seguridad, permanezcan en el estado predeterminado o sin modificar. Algunos campos específicos los títulos de las fuentes, el estado de visualización inicial y el resumen a veces están respaldados por cadenas superpuestas y que se pueden modificar.
Para
GoogleAppSecuritySources
:- No quites ni modifiques la fuente de seguridad
GooglePlayProtect
. - Puedes quitar o cambiar la fuente de seguridad
GoogleAppProtectionService
. Si está presente, haz lo siguiente:- 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
en su lugar, y eldeduplicationGroup
debe permanecer sin cambios. - Si se cambia el nombre del paquete, debe tener el rol
"android.app.role.SYSTEM_APP_PROTECTION_SERVICE"
. Además, en Android 14, no debe tener undeduplicationGroup
.
- No quites ni modifiques la fuente de seguridad
Para
AndroidLockScreenSources
:- La instancia
summary
del grupo es obligatoria y puedes modificarla. incluso con una superposición de cadenas. - Debe haber al menos una fuente de seguridad.
- La primera fuente de seguridad debe ser la que controla la configuración de la pantalla de bloqueo y no debería poder enviar problemas o entradas más graves que
SEVERITY_LEVEL_RECOMMENDATION
(maxSeverityLevel="300"
o hasta una entrada amarilla o tarjetas de advertencia). En Android 14, eldeduplicationGroup
debe permanecer sin cambios. - El propósito de las otras fuentes de seguridad es ser fuentes relacionadas con los mecanismos de desbloqueo biométrico y deben tener
maxSeverityLevel="0"
.
- La instancia
En Android 13, no modifiques
GoogleAccountSources
,GoogleDeviceFinderSources
niAndroidAdvancedSources
. En Android 14, puedes quitar algunas de las fuentes nuevas que se introdujeron en estos grupos (p. ej., copia de seguridad y restablecimiento). También puedes agregar nuevas fuentes estáticas al grupoAndroidAdvancedSources
.Para
GoogleUpdateSources
:- Puedes cambiar
intentAction
porGoogleSecurityUpdates
y modificarlo con una superposición de cadenas. - No modifiques
GooglePlaySystemUpdate
.
- Puedes cambiar
Para
AndroidPrivacySources
:- Puedes agregar, quitar o modificar algunas fuentes, siempre que sean
issue-only
. - Debe mantener
packageName="com.google.android.permissioncontroller"
. - No modifiques el resto de las fuentes de
AndroidPrivacySources
.
- Puedes agregar, quitar o modificar algunas fuentes, siempre que sean
Para el resto de los grupos de fuentes de seguridad (si los hay), haz lo siguiente:
- Los grupos no deben tener
summary
nistatelessIconType
, lo que genera 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
maxSeverityLevel="0"
, por ejemplo, puede enviar gris o verde pero sin problemas.
- Los grupos no deben tener
Pruebas de CTS (CtsSafetyCenterTestCases
)
A partir de Android 13, las pruebas del CTS se aplican a todos los OEM
compatibles con PermissionController
.
Pruebas del archivo de configuración (XmlConfigTest
)
Estas pruebas garantizan lo siguiente:
- El archivo de configuración XML analizado coincide con la configuración que Safety Center analizó y expuso, y que el análisis se realizó correctamente.
- Si la acción de intent
android.settings.PRIVACY_ADVANCED_SETTINGS
está presente en el archivo XML, se debe resolver esta acción. - Si la acción de intent
android.settings.PRIVACY_CONTROLS
está presente en el XML, se deberá resolver esta acción.
Pruebas de la IU (SafetyCenterActivityTest
)
Estas pruebas garantizan lo siguiente:
- La acción de intent
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á inhabilitado.
Pruebas de API (SafetyCenterManagerTest
)
El objetivo de las pruebas de la API de SafetyCenterManagerTest es garantizar que las APIs de Safety Center funcionen según lo previsto.
Estas pruebas garantizan lo siguiente:
SafetyCenterManager.isSafetyCenterEnabled
es controlado por la entidadDeviceConfig
.- Cuando se inhabilita, las APIs del Centro de seguridad no funcionan.
- Las APIs del Centro de seguridad solo se pueden usar cuando se otorgan los permisos asociados retenido.
- Los datos solo se pueden proporcionar a Safety Center de acuerdo con la configuración subyacente.
- Cuando se proporcionan datos al Centro de seguridad, los datos se muestran según corresponda.
- Las APIs coinciden con las especificaciones que se describen en Cómo usar las APIs de fuente de Safety Center, por ejemplo, el comportamiento de actualización o restablecimiento del análisis, la configuración o eliminación de datos, y el informe de errores.
- Las APIs internas expuestas a la IU funcionan correctamente, por ejemplo, el el Centro de seguridad combina correctamente los datos y pueden actualizarse.
Prueba no compatible del Centro de seguridad (SafetyCenterUnsupportedTest
)
Esta prueba garantiza que Safety Center esté inhabilitado cuando el dispositivo no lo admita o cuando la compatibilidad esté inhabilitada en el archivo de configuración XML del framework.
Si el dispositivo es compatible con Safety Center, no se ejecutará esta prueba. Si el dispositivo no es compatible con Safety Center, solo se ejecutarán esta prueba y las pruebas de clases de datos.
Esta prueba garantiza lo siguiente:
- La acción de intent
android.intent.action.SAFETY_CENTER
abre la pantalla Configuración. SafetyCenterManager.isSafetyCenterEnabled
muestrafalse
.- La mayoría de las APIs de Safety Center 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 que expone Safety Center funcionen según lo previsto,
por ejemplo, SafetySourceData
, SafetySourceIssue
y otras clases internas relacionadas.
Pruebas de MTS (SafetyCenterFunctionalTestCases
y otras)
Estas pruebas se ejecutan en las actualizaciones de la línea principal y se aplican a todos los OEMs compatibles.
PermissionController
Los requisitos que aplican estas pruebas pueden cambiar entre las actualizaciones de la línea principal.
Pruebas de API (SafetyCenterManagerTest
)
Estas pruebas son similares a la prueba SafetyCenterManagerTest
de CTS. Sin embargo,
prueban requisitos que podrían cambiar en las actualizaciones de la línea principal, por ejemplo:
- Verificar el contenido real de los datos que devuelven las APIs internas expuestas a la IU
Pruebas de la IU (SafetyCenterActivityTest
, SafetyCenterStatusCardTest
, SafetyCenterQsActivityTest
, etcétera)
Estas pruebas garantizan lo siguiente:
- Redireccionar al Centro de seguridad con parámetros específicos funciona según lo previsto, por por ejemplo, el redireccionamiento a un problema específico. Consulta Redireccionamiento a Seguridad Center.
- La IU muestra el estado de seguridad subyacente correcto.
- La IU permite navegar a pantallas separadas.
- La IU permite resolver problemas de seguridad directamente desde la pantalla del Centro de seguridad cuando
SafetySourceIssue
lo especifica. - La IU contrae varias tarjetas de advertencia en un elemento y permite expandirse de nuevo en varias tarjetas de advertencia.
- Los datos se actualizan cuando se abre la página de Safety Center para las fuentes relevantes de Safety Center.
- El botón para volver a analizar solo aparece en circunstancias específicas.
- Si presionas el botón de volver a analizar, se recuperarán los datos nuevos.
Se realizan pruebas similares para el Centro de seguridad. Consulta Cómo crear una Rápida Tarjetas de configuración de tu app
Casos extremos adicionales, como estados de error y estados pendientes
Pruebas de varios usuarios (SafetyCenterMultiUsersTest
)
El objetivo de estas pruebas es garantizar que la API funcione correctamente cuando se recopilen se proporciona a varios usuarios o perfiles. Consulta Cómo proporcionar datos para varios usuarios y perfiles. Esta configuración se logra con una biblioteca interna que facilita la configuración de usuarios y perfiles separados en el dispositivo con Bedstead.
Esta prueba garantiza lo siguiente:
- Los datos que pertenecen a un usuario se combinan con sus servicios perfil, si existe.
- Solo las fuentes marcadas con
profile="all_profiles"
pueden proporcionar datos en el perfil administrado del usuario. - Se crea una entrada nueva para cada perfil administrado asociado a un usuario.
- Los datos que pertenecen a un usuario no se filtran a otro usuario no relacionado.