Test della piattaforma Android

Questo contenuto è rivolto agli sviluppatori della piattaforma Android. Prima di comprendere come vengono eseguiti i test sulla piattaforma Android, fare riferimento all'architettura della piattaforma Android per una panoramica.

Quindi approfondisci le precise tecnologie a tua disposizione in questa sezione, come Vendor Test Suite (VTS) e la sua miriade di tutorial video e codelab .

Tieni inoltre presenti i meccanismi di test specifici della sicurezza disponibili per rilevare e rafforzare i tuoi dispositivi contro le vulnerabilità.

Per testare le app, inizia con Nozioni fondamentali di test ed esegui il Codelab di test Android utilizzando gli esempi forniti.

Infine, tieni presente che i test di preinvio di base sono disponibili tramite Repo Hooks che possono eseguire linter, controllare la formattazione e attivare test unitari prima di procedere, come il caricamento di un commit. Nota che questi hook sono disabilitati per impostazione predefinita. Vedi l'introduzione ai Repo Hooks per maggiori dettagli.

Cosa e come testare

Un test della piattaforma in genere interagisce con uno o più servizi del sistema Android, o livelli HAL (Hardware Abstraction Layer), esercita le funzionalità del soggetto sottoposto a test e asserisce la correttezza del risultato del test.

Pertanto, un test della piattaforma può:

  1. API del framework di esercizio tramite framework applicativo; API specifiche esercitate possono includere:
    • API pubbliche destinate ad applicazioni di terze parti
    • API nascoste destinate ad applicazioni privilegiate, ovvero API di sistema
    • API private (@hide, o protected, pacchetto privato)
  2. richiamare direttamente i servizi del sistema Android tramite raw binder/proxy IPC
  3. interagire direttamente con gli HAL tramite API di basso livello o interfacce IPC

I tipi 1 e 2 sono generalmente scritti come test di strumentazione , mentre i tipi 3 sono solitamente scritti come GTest .

Per saperne di più, consulta i nostri esempi end-to-end:

Acquisire familiarità con questi strumenti, poiché sono intrinseci ai test in Android.

Suite di test di compatibilità (CTS)

Android Compatibility Test Suite è una suite di vari tipi di test, utilizzata per garantire la compatibilità delle implementazioni del framework Android tra i partner OEM e tra i rilasci della piattaforma. La suite include anche test di strumentazione e il framework GTest.

I test CTS e quelli della piattaforma non si escludono a vicenda ed ecco alcune linee guida generali:

  • se un test afferma la correttezza delle funzioni/comportamenti dell'API del framework e dovrebbe essere applicato a tutti i partner OEM, dovrebbe essere in CTS
  • se un test ha lo scopo di individuare regressioni durante il ciclo di sviluppo della piattaforma e può richiedere un'autorizzazione privilegiata per essere eseguito e può dipendere dai dettagli di implementazione (come rilasciati in AOSP), dovrebbero essere solo test della piattaforma

Suite di test del fornitore (VTS)

Vendor Test Suite (VTS) automatizza il test del kernel HAL e del sistema operativo. Per utilizzare VTS per testare un'implementazione del sistema Android integrata, configura un ambiente di test, quindi testa una patch utilizzando un piano VTS.

Infrastruttura di test della Federazione dei Mercanti

Trade Federation (Tradefed o TF in breve) è un framework di test continuo progettato per eseguire test su dispositivi Android. TF può eseguire test funzionali localmente, alla tua scrivania, all'interno del checkout della tua piattaforma. Sono necessari due file per eseguire un test in TF, un'origine del test Java e una configurazione XML. Per esempi, vedere RebootTest.java e reboot.xml .

Debug

La sezione Debug riepiloga strumenti utili e comandi correlati per il debug, la traccia e la profilazione del codice integrato della piattaforma Android durante lo sviluppo di funzionalità a livello di piattaforma.