Testes GTS (GtsSafetyCenterTestCases
)
Os testes GTS impõem restrições ao arquivo de configuração. Consulte Atualizar o arquivo de configuração. Um dispositivo é dispensado desses testes se não for compatível com o Centro de segurança.
As restrições são as seguintes:
- Deve haver pelo menos sete grupos de origem da Central de segurança, que devem permanecem no estado padrão ou não modificado. Alguns campos específicos, como títulos de fontes, estado de exibição inicial e resumo, às vezes, têm suporte de que podem ser sobrepostas e podem ser modificadas.
Para
GoogleAppSecuritySources
:- Não remova nem modifique a fonte de segurança
GooglePlayProtect
. - Você pode remover ou mudar a fonte de segurança do
GoogleAppProtectionService
. Se estiver presente:- Ele precisa oferecer suporte à geração de registros.
- Se o nome do pacote não for alterado, ele precisará ter
initialDisplayState="hidden"
no Android 13. No Android 14, ele precisará ser umissue-only-safety-source
, e odeduplicationGroup
não poderá ser alterado. - Se o nome do pacote for alterado, ele precisará ter o papel
"android.app.role.SYSTEM_APP_PROTECTION_SERVICE"
. Além disso, no Android 14, ele não pode ter umdeduplicationGroup
.
- Não remova nem modifique a fonte de segurança
Para
AndroidLockScreenSources
:- A instância
summary
do grupo é obrigatória e pode ser modificada. inclusive com uma sobreposição de strings. - É preciso ter pelo menos uma fonte de segurança.
- A primeira fonte de segurança é a fonte que controla o bloqueio
as configurações da tela e não poderá enviar problemas ou entradas
grave do que
SEVERITY_LEVEL_RECOMMENDATION
(maxSeverityLevel="300"
ou até cartões amarelos de entrada ou de alerta). No Android 14, odeduplicationGroup
precisa permanecer inalterado. - As outras fontes de segurança devem ser fontes relacionadas a mecanismos
de desbloqueio biométrico e devem ter
maxSeverityLevel="0"
.
- A instância
No Android 13, não modifique
GoogleAccountSources
,GoogleDeviceFinderSources
ouAndroidAdvancedSources
. No Android 14, é possível remover algumas das novas fontes que foram introduzidas nesses grupos (por exemplo, backup e restauração). Também é possível anexar novas fontes estáticas ao grupoAndroidAdvancedSources
.Para
GoogleUpdateSources
:- É possível mudar a
intentAction
paraGoogleSecurityUpdates
e modificar com uma sobreposição de string. - Não modifique
GooglePlaySystemUpdate
.
- É possível mudar a
Para
AndroidPrivacySources
:- É possível adicionar, remover ou modificar algumas origens, desde que elas sejam
issue-only
: - Ele precisa manter
packageName="com.google.android.permissioncontroller"
. - Não modifique o restante das fontes
AndroidPrivacySources
.
- É possível adicionar, remover ou modificar algumas origens, desde que elas sejam
Para os demais grupos de origem de segurança (se houver):
- Os grupos não podem ter
summary
oustatelessIconType
, o que resulta em um grupoSAFETY_SOURCES_GROUP_TYPE_RIGID
(SAFETY_SOURCES_GROUP_TYPE_STATELESS
no Android 14). - Cada origem em cada grupo precisa ser estática ou ter
maxSeverityLevel="0"
, por exemplo, para enviar entradas cinza ou verde, mas sem problemas.
- Os grupos não podem ter
Testes CTS (CtsSafetyCenterTestCases
)
A partir do Android 13, os testes do CTS são aplicados a todos os OEMs
que oferecem suporte a PermissionController
.
Testes de arquivos de configuração (XmlConfigTest
)
Esses testes garantem que:
- O arquivo de configuração XML analisado corresponde à configuração analisada e exposto pela Central de segurança e que essa análise foi bem-sucedida.
- Se a ação de intent
android.settings.PRIVACY_ADVANCED_SETTINGS
estiver presente no arquivo XML, ela precisará ser resolvida. - Se a ação da intent
android.settings.PRIVACY_CONTROLS
estiver presente no XML, essa ação precisa ser resolvida.
Testes de interface (SafetyCenterActivityTest
)
Esses testes garantem:
- A ação da intent
android.intent.action.SAFETY_CENTER
se resolve e é aberta. as Segurança e privacidade quando a Central de segurança estiver ativada e na tela "Configurações" quando a Central de segurança está desativada.
Testes de API (SafetyCenterManagerTest
)
O objetivo dos testes da API SafetyCenterManagerTest é garantir que as APIs do Safety Center estejam funcionando conforme o esperado.
Esses testes garantem o seguinte:
SafetyCenterManager.isSafetyCenterEnabled
é controlado pelas APIs associadas sinalizaçãoDeviceConfig
.- Quando desativadas, as APIs da Central de segurança vão ficar inativas.
- As APIs do Safety Center só podem ser usadas quando as permissões associadas são retidas.
- Os dados podem ser fornecidos à Central de segurança apenas de acordo com os configuração do Terraform.
- Quando os dados são enviados à Central de segurança, eles são mostrados corretamente.
- As APIs correspondem às especificações descritas em Usar as APIs de origem do Safety Center, por exemplo, comportamento de atualização ou reexibição, configuração ou exclusão de dados e relatório de erros.
- As APIs internas expostas à interface funcionam corretamente. Por exemplo, os dados são mesclados adequadamente pelo Safety Center e podem ser atualizados.
Teste incompatível com a Central de segurança (SafetyCenterUnsupportedTest
)
Esse teste garante que o Safety Center seja desativado quando o dispositivo não tiver suporte ou quando o suporte for desativado no arquivo de configuração XML do framework.
Se o dispositivo for compatível com o Safety Center, esse teste não será executado. Se o dispositivo não oferecer suporte ao Safety Center, apenas este teste e os testes de classes de dados serão executados.
Esse teste garante o seguinte:
- A ação de intent
android.intent.action.SAFETY_CENTER
abre a tela "Configurações". SafetyCenterManager.isSafetyCenterEnabled
retornafalse
.- A maioria das APIs do Safety Center não responde quando chamada.
Testes de classes de dados (SafetySourceDataTest
, SafetySourceIssueTest
etc.)
Testes de classe de dados, como SafetySourceDataTest
e SafetySourceIssueTest
garantir que as classes de dados expostas pela Central de segurança estejam funcionando conforme o esperado,
por exemplo, SafetySourceData
, SafetySourceIssue
e outras atividades
classes.
Testes MTS (SafetyCenterFunctionalTestCases
e outros)
Esses testes são executados em atualizações principais e se aplicam a todos os OEMs com suporte a
PermissionController
: Os requisitos aplicados por esses testes podem mudar
nas atualizações principais.
Testes de API (SafetyCenterManagerTest
)
Esses testes são semelhantes ao teste CTS SafetyCenterManagerTest
, mas eles
requisitos de teste que podem mudar nas atualizações principais, por exemplo:
- Verificar o conteúdo real dos dados retornados pelas APIs internas expostos à interface
Testes de interface (SafetyCenterActivityTest
, SafetyCenterStatusCardTest
, SafetyCenterQsActivityTest
etc.)
Esses testes garantem que:
- Redirecionar para a Central de segurança com parâmetros específicos funciona conforme o esperado, para redirecionando para um problema específico. Consulte Redirecionar para a Central de segurança.
- A interface mostra o estado de segurança correto.
- A interface permite navegar para telas separadas.
- A interface permite resolver problemas de segurança diretamente na tela da Central de segurança
quando especificado por
SafetySourceIssue
. - A interface recolhe vários cartões de aviso em um item e permite a expansão em vários cartões de alerta.
- Os dados são atualizados quando a página da Central de segurança é aberta para as fontes relevantes.
- O botão de nova verificação aparece apenas em circunstâncias específicas.
- Tocar no botão "Nova verificação" recupera novos dados.
Testes semelhantes são realizados na Central de segurança. Consulte Criar Blocos de configurações para sua App
Outros casos extremos, como estados de erro e pendentes.
Testes com vários usuários (SafetyCenterMultiUsersTest
)
O objetivo desses testes é garantir que a API funcione adequadamente quando os dados são fornecidos para vários usuários ou perfis. Consulte Fornecer dados para vários usuários e perfis. Essa configuração é alcançada usando uma biblioteca interna que facilita a configuração de usuários e perfis separados no dispositivo usando o Bedstead.
Esse teste garante o seguinte:
- Os dados de um usuário são mesclados com o perfil gerenciado associado, se ele existir.
- Somente as fontes marcadas com
profile="all_profiles"
podem fornecer dados no perfil gerenciado do usuário. - Uma nova entrada é criada para cada perfil gerenciado associado a um usuário.
- Os dados de um usuário não são vazados para outro usuário não relacionado.