Test GTS (GtsSafetyCenterTestCases
)
I test GTS impongono vincoli al file di configurazione. Vedi Aggiornare il file di configurazione. Un dispositivo è esente da questi test se non supporta Centro sicurezza.
I vincoli sono i seguenti:
- Devono essere presenti almeno sette gruppi di origini di Safety Center, che devono rimanere nello stato non modificato o predefinito. Alcuni campi specifici, come i titoli delle fonti, lo stato di visualizzazione iniziale e il riepilogo, a volte sono supportati da stringhe sovrapponibili e possono essere modificati.
Per
GoogleAppSecuritySources
:- Non rimuovere o modificare l'origine di sicurezza
GooglePlayProtect
. - Puoi rimuovere o modificare la fonte di sicurezza di
GoogleAppProtectionService
. Se è presente:- Deve supportare il logging.
- Se il nome del pacchetto non è modificato, deve avere
initialDisplayState="hidden"
in Android 13; in Android 14, deve essere unissue-only-safety-source
e ildeduplicationGroup
deve rimanere invariato. - Se il nome del pacchetto viene modificato, deve avere il ruolo
"android.app.role.SYSTEM_APP_PROTECTION_SERVICE"
; inoltre, in Android 14 non deve avere undeduplicationGroup
.
- Non rimuovere o modificare l'origine di sicurezza
Per
AndroidLockScreenSources
:- L'istanza
summary
del gruppo è obbligatoria e puoi modificarla, anche con un overlay di stringhe. - Deve essere presente almeno una fonte di sicurezza.
- La prima origine di sicurezza è pensata per controllare le impostazioni della schermata di blocco e non deve essere in grado di inviare problemi o voci più gravi di
SEVERITY_LEVEL_RECOMMENDATION
(maxSeverityLevel="300"
o fino a schede di avviso o di avviso gialle). In Android 14,deduplicationGroup
deve rimanere invariato. - Le altre fonti di sicurezza sono intese come fonti relative a meccanismi di sblocco biometrico e dovrebbero avere
maxSeverityLevel="0"
.
- L'istanza
In Android 13, non modificare
GoogleAccountSources
,GoogleDeviceFinderSources
oAndroidAdvancedSources
. In Android 14, puoi rimuovere alcune delle nuove origini introdotte in questi gruppi (ad es. backup e ripristino) e anche aggiungere nuove origini statiche al gruppoAndroidAdvancedSources
.Per
GoogleUpdateSources
:- Puoi sostituire
intentAction
conGoogleSecurityUpdates
e modificarlo con un overlay di stringa. - Non modificare
GooglePlaySystemUpdate
.
- Puoi sostituire
Per
AndroidPrivacySources
:- Puoi aggiungere, rimuovere o modificare alcune origini, a condizione che siano
issue-only
. - Devono tenere
packageName="com.google.android.permissioncontroller"
. - Non modificare il resto delle origini
AndroidPrivacySources
.
- Puoi aggiungere, rimuovere o modificare alcune origini, a condizione che siano
Per gli eventuali altri gruppi di origini di sicurezza:
- I gruppi non devono contenere
summary
ostatelessIconType
, che generano un gruppoSAFETY_SOURCES_GROUP_TYPE_RIGID
(SAFETY_SOURCES_GROUP_TYPE_STATELESS
in Android 14). - Ogni origine all'interno di ogni gruppo deve essere statica o avere
maxSeverityLevel="0"
, ad esempio, autorizzato a inviare voci grigie o verdi, ma senza problemi.
- I gruppi non devono contenere
Test CTS (CtsSafetyCenterTestCases
)
A partire da Android 13, i test CTS si applicano a tutti gli OEM
che supportano PermissionController
.
Test dei file di configurazione (XmlConfigTest
)
Questi test garantiscono:
- Il file di configurazione XML analizzato corrisponde alla configurazione analizzata e comunicata da Safety Center e che l'analisi è riuscita.
- Se l'azione intent
android.settings.PRIVACY_ADVANCED_SETTINGS
è presente nel file XML, questa azione deve essere risolta. - Se l'azione intent
android.settings.PRIVACY_CONTROLS
è presente nel file XML, questa azione deve essere risolta.
Test dell'interfaccia utente (SafetyCenterActivityTest
)
Questi test garantiscono:
- L'azione intent
android.intent.action.SAFETY_CENTER
risolve e apre la schermata delle impostazioni Sicurezza e privacy quando il Centro per la sicurezza online è attivo e la schermata Impostazioni quando il Centro per la sicurezza online è disattivato.
Test API (SafetyCenterManagerTest
)
Lo scopo dei test dell'API SafetyCenterManagerTest è garantire che le API Safety Center funzionino come previsto.
Questi test garantiscono quanto segue:
SafetyCenterManager.isSafetyCenterEnabled
è controllato dal flagDeviceConfig
associato.- Se sono disattivate, le API di Safety Center non eseguono alcuna operazione.
- Le API di Safety Center sono utilizzabili solo se sono presenti le autorizzazioni associate.
- I dati possono essere forniti a Safety Center solo in conformità con la configurazione di base.
- Quando i dati vengono forniti a Safety Center, vengono visualizzati di conseguenza.
- Le API corrispondono alle specifiche descritte in Utilizzare le API di origine del Centro per la sicurezza, ad esempio il comportamento di aggiornamento o nuova scansione, l'impostazione o l'eliminazione dei dati e la segnalazione degli errori.
- Le API interne esposte all'interfaccia utente funzionano correttamente, ad esempio i dati vengono uniti in modo appropriato da Safety Center e possono essere aggiornati.
Test non supportato dal Centro per la sicurezza (SafetyCenterUnsupportedTest
)
Questo test garantisce che il Centro sicurezza sia disabilitato quando il dispositivo non lo supporta o quando il supporto è disabilitato nel file di configurazione XML del framework.
Se il dispositivo supporta il Centro per la sicurezza online, il test non viene eseguito. Se il dispositivo non supporta il Centro sicurezza, vengono eseguiti solo questo test e i test delle classi di dati.
Questo test garantisce quanto segue:
- L'azione dell'intent
android.intent.action.SAFETY_CENTER
apre la schermata Impostazioni. SafetyCenterManager.isSafetyCenterEnabled
restituiscefalse
.- La maggior parte delle API di Safety Center non risponde quando viene chiamata.
Test delle classi di dati (SafetySourceDataTest
, SafetySourceIssueTest
e così via)
I test delle classi di dati, come SafetySourceDataTest
e SafetySourceIssueTest
, garantiscono che le classi di dati esposte dal Centro per la sicurezza online funzionino come previsto, ad esempio SafetySourceData
, SafetySourceIssue
e altre classi interne correlate.
Test MTS (SafetyCenterFunctionalTestCases
e altri)
Questi test vengono eseguiti negli aggiornamenti principali e si applicano a tutti gli OEM che supportanoPermissionController
. I requisiti applicati da questi test possono cambiare
tra gli aggiornamenti della versione principale.
Test API (SafetyCenterManagerTest
)
Questi test sono simili al test CTS SafetyCenterManagerTest
, ma esaminano i requisiti che potrebbero cambiare negli aggiornamenti principali, ad esempio:
- Controllo dei contenuti effettivi dei dati restituiti dalle API interne esposte all'interfaccia utente
Test UI (SafetyCenterActivityTest
, SafetyCenterStatusCardTest
, SafetyCenterQsActivityTest
e così via)
Questi test assicurano che:
- Il reindirizzamento al Centro per la sicurezza online con parametri specifici funziona come previsto, ad esempio reindirizzando a un problema specifico. Consulta Reindirizzare al Centro per la sicurezza.
- L'interfaccia utente mostra lo stato di sicurezza sottostante corretto.
- L'interfaccia utente consente di passare a schermate separate.
- L'interfaccia utente consente di risolvere i problemi di sicurezza direttamente dalla schermata del Centro sicurezza
se specificato da
SafetySourceIssue
. - L'interfaccia utente comprime più schede di avviso in un unico elemento e consente di espanderle nuovamente in più schede di avviso.
- I dati vengono aggiornati quando viene aperta la pagina del Centro per la sicurezza per le fonti pertinenti del Centro per la sicurezza.
- Il pulsante di nuova ricerca viene visualizzato solo in circostanze specifiche.
- Se tocchi il pulsante di nuova ricerca, vengono recuperati nuovi dati.
Vengono condotti test simili per il Centro sicurezza. Vedi Creare riquadri Impostazioni rapide personalizzati per la tua app
Ulteriori casi limite, come stati di errore e in attesa.
Test con più utenti (SafetyCenterMultiUsersTest
)
Lo scopo di questi test è verificare che l'API funzioni correttamente quando vengono forniti dati per più utenti o profili. Consulta la sezione Fornire dati per più utenti e profili. Questa configurazione viene eseguita utilizzando una libreria interna che semplifica la configurazione di utenti e profili separati sul dispositivo utilizzando Bedstead.
Questo test garantisce quanto segue:
- I dati appartenenti a un utente vengono uniti al profilo gestito associato, se esistente.
- Solo le origini contrassegnate con
profile="all_profiles"
possono fornire dati nel profilo gestito dell'utente. - Viene creata una nuova voce per ogni profilo gestito associato a un utente.
- I dati appartenenti a un utente non vengono divulgati a un altro utente non correlato.