Questo contenuto è rivolto agli sviluppatori di piattaforme 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 la Vendor Test Suite (VTS) e la sua miriade di video e tutorial di codelab .
Nota anche i meccanismi di test specifici per la sicurezza disponibili per rilevare e rafforzare i tuoi dispositivi contro le vulnerabilità.
Per i test delle app, inizia con i Fondamenti di test ed esegui Android Testing Codelab utilizzando gli esempi forniti.
Infine, nota che i test preliminari di invio sono disponibili tramite Repo Hooks che possono eseguire linter, controllare la formattazione e attivare unit test prima di procedere, come il caricamento di un commit. Nota che questi hook sono disabilitati per impostazione predefinita. Vedi l'introduzione di 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 afferma la correttezza del risultato del test.
In quanto tale, un test della piattaforma può:
- esercitare le API del framework tramite il framework dell'applicazione; 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, package private)
- richiamare direttamente i servizi di sistema Android tramite i proxy IPC/Raw Binder
- interagire direttamente con gli HAL tramite API di basso livello o interfacce IPC
I tipi 1 e 2 sono in genere scritti come test di strumentazione , mentre il tipo 3 sono generalmente scritti come GTtest .
Per saperne di più, guarda i nostri esempi end-to-end:
Acquisisci 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 le versioni della piattaforma. La suite include anche i test di strumentazione e il framework GTest.
I test CTS e della piattaforma non si escludono a vicenda, ed ecco alcune linee guida generali:
- se un test sta affermando la correttezza delle funzioni/comportamenti dell'API del framework e dovrebbe essere applicato tra i partner OEM, dovrebbe essere in CTS
- se un test ha lo scopo di rilevare le 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 rilasciato in AOSP), dovrebbe essere solo test della piattaforma
Vendor Test Suite (VTS)
La Vendor Test Suite (VTS) automatizza i test del kernel HAL e OS. Per utilizzare VTS per testare un'implementazione di un sistema Android integrato, configurare un ambiente di test, quindi testare una patch utilizzando un piano VTS.
Infrastruttura di prova della Federazione commerciale
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. Ci sono due file richiesti per eseguire un test in TF, un'origine di test java e una configurazione XML. Vedere RebootTest.java e reboot.xml per esempi.
Debug
La sezione Debug riassume strumenti utili e comandi correlati per il debug, la traccia e la profilazione del codice della piattaforma Android integrato durante lo sviluppo di funzionalità a livello di piattaforma.