Requisiti di test

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 un issue-only-safety-source e il deduplicationGroup 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.
  • 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".
  • In Android 13, non modificare GoogleAccountSources, GoogleDeviceFinderSources o AndroidAdvancedSources. 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 gruppo AndroidAdvancedSources.

  • Per GoogleUpdateSources:

    • Puoi sostituire intentAction con GoogleSecurityUpdates e modificarlo con un overlay di stringa.
    • Non modificare GooglePlaySystemUpdate.
  • 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.
  • Per gli eventuali altri gruppi di origini di sicurezza:

    • I gruppi non devono contenere summary o statelessIconType, che generano un gruppo SAFETY_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.

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 flag DeviceConfig 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 restituisce false.
  • 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.