Test della piattaforma Android

Questo contenuto è rivolto agli sviluppatori di piattaforme Android. Prima di capire come il test viene effettuato sulla piattaforma Android, si prega di fare riferimento alla architettura della piattaforma Android per una panoramica.

Poi approfondire le tecnologie precise a vostra disposizione in questa sezione, come ad esempio il fornitore Test Suite (VTS) e la sua miriade di video e codelab tutorial .

Da notare anche la sicurezza specifici test meccanismi disponibili per rilevare e indurite i vostri dispositivi contro le vulnerabilità.

Per il test app, iniziare con i Fondamenti di test e di condurre l' Android Test Codelab utilizzando i campioni forniti.

Infine, si noti test di base presubmit è disponibile a voi attraverso Repo Ganci in grado di eseguire linters, controllare la formattazione, e test di unità grilletto prima di procedere, come ad esempio il caricamento di un commit. Nota che questi hook sono disabilitati per impostazione predefinita. Vedere la Repo Ganci introduzione per maggiori dettagli.

Cosa e come testare

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

Pertanto, un test della piattaforma può:

  1. esercitano le API del framework tramite il framework dell'applicazione; le 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 (@nascondi o protette, pacchetto privato)
  2. invocare direttamente i servizi di sistema Android tramite raw binder/proxy IPC
  3. interagire direttamente con gli HAL tramite API di basso livello o interfacce IPC

Tipo 1 e 2 sono in genere scritte come test della strumentazione , mentre il tipo 3 sono di solito scritta come test native che utilizzano il GTEST quadro.

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, utilizzati per garantire la compatibilità di Android implementazioni quadro attraverso partner OEM, e attraverso release della piattaforma. La suite include anche test di strumentazione e test nativi (utilizzando anche il framework gtest).

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

  • se un test afferma la correttezza delle funzioni/comportamenti 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 l'autorizzazione privilegiata per essere eseguito e può dipendere dai dettagli di implementazione (come rilasciato in AOSP), dovrebbe essere solo test della piattaforma

Suite di test del fornitore (VTS)

Il Venditore Test Suite (VTS) automatizza HAL e OS kernel test. Per utilizzare VTS per testare un'implementazione del sistema nativo Android, configurare un ambiente di test, quindi testare una patch utilizzando un piano VTS.

Infrastruttura di test della federazione commerciale

Federazione dei Mercanti (tradefed o TF in breve) è un framework di test continuo per l'esecuzione di 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, una sorgente di test java e una configurazione XML. Vedere RebootTest.java e reboot.xml per gli esempi.

Debug

Il debug sezione riassume strumenti utili e comandi correlati per il debugging, tracciamento, e profiling codice nativo piattaforma Android nello sviluppo funzionalità di livello piattaforma.