Requisiti di prova

Test GTS ( GtsSafetyCenterTestCases )

I test GTS impongono vincoli sul file di configurazione. Vedere Aggiornare il file di configurazione . Un dispositivo è esentato da questi test se non supporta Safety Center.

I vincoli sono i seguenti:

  • Dovrebbero essere presenti almeno sette gruppi di origine di Safety Center, che dovrebbero rimanere nello stato non modificato o predefinito. Alcuni campi specifici come i titoli delle fonti, lo stato di visualizzazione iniziale e il riepilogo sono talvolta supportati da stringhe sovrapponibili e possono essere modificati.
  • Per GoogleAppSecuritySources :

    • Non rimuovere o modificare la fonte di sicurezza GooglePlayProtect .
    • Puoi rimuovere o modificare l'origine di sicurezza GoogleAppProtectionService . Se è presente:
      • Deve supportare la registrazione.
      • Se il nome del pacchetto è invariato, deve avere initialDisplayState="hidden" in Android 13; in Android 14 deve essere invece issue-only-safety-source e il deduplicationGroup deve rimanere invariato.
      • Se il nome del pacchetto viene modificato, deve contenere il ruolo "android.app.role.SYSTEM_APP_PROTECTION_SERVICE" ; inoltre in Android 14 non deve avere un deduplicationGroup .
  • Per AndroidLockScreenSources :

    • L'istanza summary del gruppo è obbligatoria ed è possibile modificarla, anche con una sovrapposizione di stringa.
    • Deve esserci almeno una fonte di sicurezza.
    • La prima fonte di sicurezza è destinata ad essere la fonte che controlla le impostazioni della schermata di blocco e non dovrebbe essere in grado di inviare problemi o voci più gravi di SEVERITY_LEVEL_RECOMMENDATION ( maxSeverityLevel="300" o fino a voci gialle o schede di avviso). In Android 14 il deduplicationGroup deve rimanere invariato.
    • Le altre fonti di sicurezza sono destinate ad essere fonti correlate ai meccanismi di sblocco biometrico e dovrebbero avere maxSeverityLevel="0" .
  • In Android 13, non modificare GoogleAccountSources , GoogleDeviceFinderSources o AndroidAdvancedSources . In Android 14, puoi rimuovere alcune delle nuove origini introdotte in questi gruppi (ad esempio backup e ripristino), puoi anche aggiungere nuove origini statiche al gruppo AndroidAdvancedSources .

  • Per GoogleUpdateSources :

    • Puoi modificare intentAction per GoogleSecurityUpdates e modificarlo con una sovrapposizione di stringa.
    • Non modificare GooglePlaySystemUpdate .
  • Per AndroidPrivacySources :

    • Puoi aggiungere, rimuovere o modificare alcune fonti, purché siano issue-only .
    • Devono mantenere packageName="com.google.android.permissioncontroller" .
    • Non modificare il resto delle origini AndroidPrivacySources .
  • Per il resto dei gruppi di origini di sicurezza (se presenti):

    • I gruppi non devono avere summary o statelessIconType , che risultano in un gruppo SAFETY_SOURCES_GROUP_TYPE_RIGID ( SAFETY_SOURCES_GROUP_TYPE_STATELESS in Android 14).
    • Ogni origine all'interno di ciascun gruppo deve essere statica o avere maxSeverityLevel="0" , ad esempio, autorizzata a inviare voci grigie o verdi ma senza problemi.

Test CTS ( CtsSafetyCenterTestCases )

A partire da Android 13, i test CTS si applicano a tutti gli OEM che supportano PermissionController .

Test del file di configurazione ( XmlConfigTest )

Questi test garantiscono:

  • Il file di configurazione XML analizzato corrisponde alla configurazione analizzata ed esposta da Safety Center e l'analisi ha esito positivo.
  • Se l'azione di intent android.settings.PRIVACY_ADVANCED_SETTINGS è presente nel file XML, questa azione deve essere risolta.
  • Se l'azione di 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 di sicurezza e privacy quando Safety Center è abilitato e la schermata Impostazioni quando Safety Center è disabilitato.

Test API ( SafetyCenterManagerTest )

L'obiettivo dei test API SafetyCenterManagerTest è garantire che le API Safety Center funzionino come previsto.

Questi test garantiscono quanto segue:

  • SafetyCenterManager.isSafetyCenterEnabled è controllato dal flag DeviceConfig associato.
  • Se disabilitate, le API di Safety Center non funzionano.
  • Le API di Safety Center sono utilizzabili solo quando vengono mantenute le autorizzazioni associate.
  • I dati possono essere forniti a Safety Center solo in conformità con la configurazione sottostante.
  • 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 sicurezza , ad esempio, aggiornano o eseguono nuovamente la scansione, impostano o cancellano dati e segnalano errori.
  • Le API interne esposte all'interfaccia utente funzionano correttamente, ad esempio, i dati vengono opportunamente uniti da Safety Center e i dati possono essere aggiornati.

Test non supportato del Centro sicurezza ( SafetyCenterUnsupportedTest )

Questo test garantisce che Safety Center sia disabilitato quando il dispositivo non lo supporta quando il supporto è disabilitato nel file di configurazione XML del framework.

Se il dispositivo supporta Safety Center, questo test non viene eseguito. Se il dispositivo non supporta Safety Center, vengono eseguiti solo questo test e i test delle classi di dati.

Questo test garantisce quanto segue:

  • L'azione intent android.intent.action.SAFETY_CENTER apre la schermata Impostazioni.
  • SafetyCenterManager.isSafetyCenterEnabled restituisce false .
  • La maggior parte delle API di Safety Center non rispondono quando vengono chiamate.

Test delle classi di dati ( SafetySourceDataTest , SafetySourceIssueTest , ecc.)

I test delle classi di dati come SafetySourceDataTest e SafetySourceIssueTest garantiscono che le classi di dati esposte da Safety Center funzionino come previsto, ad esempio SafetySourceData , SafetySourceIssue e altre classi interne correlate.

Test MTS ( SafetyCenterFunctionalTestCases e altri)

Questi test vengono eseguiti sugli aggiornamenti principali e si applicano a tutti gli OEM che supportano PermissionController . I requisiti applicati da questi test possono cambiare tra gli aggiornamenti principali.

Test API ( SafetyCenterManagerTest )

Questi test sono simili al test CTS SafetyCenterManagerTest , tuttavia testano i requisiti che potrebbero cambiare tra gli aggiornamenti principali, ad esempio:

  • Verifica del contenuto effettivo dei dati restituiti dalle API interne esposte all'interfaccia utente

Test dell'interfaccia utente ( SafetyCenterActivityTest , SafetyCenterStatusCardTest , SafetyCenterQsActivityTest , ecc.)

Questi test garantiscono:

  • Il reindirizzamento a Safety Center con parametri specifici funziona come previsto, ad esempio, il reindirizzamento a un problema specifico. Consulta Reindirizzamento al Centro sicurezza .
  • L'interfaccia utente visualizza lo stato di sicurezza sottostante corretto.
  • L'interfaccia utente consente di navigare in schermate separate.
  • L'interfaccia utente consente di risolvere i problemi di sicurezza direttamente dalla schermata Safety Center quando 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 Centro sicurezza per le origini Centro sicurezza pertinenti.
  • Il pulsante di nuova scansione viene visualizzato solo in circostanze specifiche.
  • Toccando il pulsante di nuova scansione vengono recuperati nuovi dati.
  • Test simili vengono condotti per il Safety Center. Vedi Creare riquadri Impostazioni rapide personalizzate per la tua app

  • Casi limite aggiuntivi come stati di errore e stati in sospeso.

Test multiutente ( SafetyCenterMultiUsersTest )

L'obiettivo di questi test è garantire che l'API funzioni correttamente quando i dati vengono forniti per più utenti o profili. Consulta Fornire dati per più utenti e profili . Questa configurazione si ottiene utilizzando una libreria interna che facilita la configurazione di utenti e profili separati sul dispositivo utilizzando Bedstead.

Questo test garantisce quanto segue:

  • I dati appartenenti a un utente vengono uniti insieme 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 ciascun profilo gestito associato a un utente.
  • I dati appartenenti a un utente non vengono divulgati a un altro utente non correlato.