Test automobilistici completi in una scatola

Complete Automotive Tests in a Box (CATBox) è un pacchetto open source che fornisce i framework e gli strumenti necessari per semplificare ed eseguire test automobilistici con una configurazione minima. CATBox è scalabile e compatibile con gli strumenti, l'infrastruttura e i test che utilizzi per testare e convalidare le implementazioni di Android Automotive OS (AAOS). Di conseguenza, puoi fornire prodotti di alta qualità al marketplace.

Progettazione e implementazione di CATBox

La suite di test CATBox fornisce gli strumenti, i framework e i test necessari per eseguire test funzionali e delle prestazioni su un dispositivo di destinazione per il settore automobilistico e durante l'utilizzo di un dispositivo complementare.

La seguente immagine illustra una progettazione di alto livello di un pacchetto CATBox.

CATBox

Figura 1. Pacchetto CATBox

Tradefed

Tradefed è un framework di test continuo open source utilizzato per eseguire test su dispositivi Android. Per maggiori dettagli, vedi Panoramica di Trade Federation.

Framework di test per il settore automobilistico

CATBox si basa su un framework di test per il settore automobilistico chiamato Spectatio, che fornisce API per testare varie app su dispositivi per il settore automobilistico. Si basa su UI Automator, un framework di test open source che fornisce un insieme di API per creare test dell'interfaccia utente che interagiscono con le applicazioni utente e di sistema.

Download della suite di test CATBox

Android 14

Android Automotive 14 è il rilascio del traguardo di sviluppo con nome in codice U. Utilizza i seguenti link per scaricare le suite di test CATBox per Android 14:

Android 12

Android 12 è la release del traguardo di sviluppo con nome in codice S. Utilizza i seguenti link per scaricare le suite di test CATBox per Android 12:

Android 11

Android 11 è la release del codice della milestone di sviluppo con nome in codice R. Utilizza i seguenti link per scaricare le suite di test CATBox per Android 11:

Build CATBox

Utilizza il comando di compilazione catbox una volta che il codice AOSP Android è disponibile sulla workstation locale.

Per creare il pacchetto CATBox localmente:

  1. Seleziona la destinazione del dispositivo in base all'architettura del dispositivo ed esegui il comando seguente:

    lunch <target>
  2. Per creare CATBox, esegui questo comando:

    make catbox

    Questo comando crea il file android-catbox.zip nella directory /out/host/linux-x86/catbox, che può essere utilizzato per eseguire i test.

Configura l'ambiente

La configurazione dell'ambiente richiesta per eseguire i test CATBox è simile alla configurazione di CTS. Per configurare l'ambiente, completa ognuna delle seguenti attività:

Configurare ed eseguire CATBox

Utilizza il framework di test Tradefed per eseguire i test sui dispositivi Android. Prima di configurare CATBox, consulta la panoramica di Trade Federation.

Per configurare ed eseguire CATBox, consulta le sezioni seguenti.

Configurare il dispositivo

Prima di eseguire un piano di test, completa i seguenti passaggi per configurare il dispositivo:

  1. Assicurati di aver installato le versioni recenti di Android Debug Bridge (adb) e di Android Asset Packaging Tool (AAPT), e di aver aggiunto la posizione di questi strumenti al percorso di sistema del tuo computer. Per maggiori dettagli, vedi ADB e AAPT.

  2. Collega almeno un dispositivo e prepara il dispositivo in test (DUT) come segue:

    1. Per ripristinare i dati di fabbrica del dispositivo per auto, vai a Impostazioni > Sistema > Opzioni di ripristino > Cancella tutti i dati.

    2. Attendi il riavvio automatico del dispositivo.

    3. Assicurati che adb sia abilitato. Per verificare che il dispositivo sia disponibile, esegui questo comando:

      adb devices
    4. Per abilitare l'accesso root, esegui questo comando:

      adb -s DEVICE_SERIAL root

      Sostituisci DEVICE_SERIAL con l'ID seriale del dispositivo per auto.

    5. Connettiti alla rete Wi-Fi.

Estrai il pacchetto CATBox

Dopo aver configurato il dispositivo, decomprimi il pacchetto CATBox e vai alla cartella estratta:

unzip android-catbox.zip
cd android-catbox

Esegui test in CATBox

Per eseguire CATBox con i piani di test nel pacchetto CATBox:

./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL

Sostituisci DEVICE_SERIAL con l'ID seriale del dispositivo per auto. Se hai più dispositivi connessi alla macchina host, utilizza DEVICE_SERIAL per distinguerli. Sostituisci TEST_PLAN_NAME con il nome del piano di test che vuoi eseguire.

Per ottenere l'elenco più completo dei piani disponibili, utilizza la riga di comando:

./tools/catbox-tradefed list plans | grep -i catbox

Tipi di piani di test

La tabella seguente mostra i piani di test funzionali disponibili.

Piani di test funzionali Descrizione
catbox-functional Test funzionali.
catbox-functional-app-info-setting Test funzionali dell'impostazione relativa alle informazioni sulle app.
catbox-functional-admin-user-grant-permissions Test funzionali per la concessione delle autorizzazioni dell'utente amministratore.
catbox-functional-app-info-setting-ui-elements Test funzionali dell'impostazione relativa alle informazioni sulle app.
catbox-functional-appgrid Test funzionali della griglia delle app.
catbox-functional-base Elenco dei test funzionali.
catbox-functional-bluetooth-audio Test funzionali dell'audio Bluetooth.
catbox-functional-bluetooth-palette Test funzionali della barra di stato.
catbox-functional-bluetooth-tests Test Bluetooth utilizzando Mobly.
catbox-functional-brightness-palette Test funzionali della barra di stato.
catbox-functional-btmoped Test funzionali basati su ciclomotore Bluetooth.
catbox-functional-date-time-setting Test funzionali delle impostazioni di data e ora.
catbox-functional-dial Test funzionali di composizione.
catbox-functional-display-setting Test funzionali delle impostazioni di visualizzazione.
catbox-functional-driving-optimized-apps Test funzionali delle limitazioni dell'esperienza utente.
catbox-functional-enable-developers-option Attiva i test funzionali delle opzioni sviluppatore.
catbox-functional-home Test funzionali della casa.
catbox-functional-lock-screen Test funzionali della schermata di blocco.
catbox-functional-mediacenter Test funzionali del Media Center.
catbox-functional-microphone-recent-apps Test funzionali dell'impostazione del microfono.
catbox-functional-microphone-setting Test funzionali dell'impostazione del microfono.
catbox-functional-multiuser Test funzionali multiutente.
catbox-functional-multiuser-system-user Test funzionali multiutente.
catbox-functional-navigation-bar Test funzionali della barra di navigazione.
catbox-functional-network-palette Test funzionali della barra di stato.
catbox-functional-network-setting Test funzionali delle impostazioni di rete.
catbox-functional-notification Test funzionali delle notifiche.
catbox-functional-privacy-permission-manager Test funzionali dell'impostazione dell'autorizzazione dell'app per la privacy.
catbox-functional-privacy-setting Test funzionali dell'impostazione del microfono.
catbox-functional-privacy-setting-ui-elements Test funzionali delle impostazioni della privacy.
catbox-functional-profile-icon Test funzionali della barra delle icone del profilo.
catbox-functional-profiles-icon-list Test dell'elenco delle icone dei profili.
catbox-functional-security-setting Test funzionali delle impostazioni di sicurezza.
catbox-functional-setting Impostazione dei test funzionali.
catbox-functional-settings-location Impostazione dei test sulla posizione.
catbox-functional-sound-setting Test funzionali dell'impostazione audio.
catbox-functional-status-bar Test funzionali della barra di stato.
catbox-functional-storage-setting Test funzionali dell'impostazione di archiviazione.
catbox-functional-system-setting Test funzionali delle impostazioni di sistema.
catbox-functional-systemui Test dell'UI di sistema.
catbox-functional-ux-restriction Test funzionali delle limitazioni dell'esperienza utente.
catbox-functional-ux-restriction-facet-bar Test funzionali delle limitazioni dell'esperienza utente.

La tabella seguente elenca i piani di test delle prestazioni di CATBox.

Piani di test delle prestazioni Descrizione
catbox-performance-cold-app-start-up-dialer Test delle prestazioni di avvio a freddo dell'app Telefono e del dialer.
catbox-performance-cold-app-start-up-mediacenter Test delle prestazioni di avvio a freddo dell'app per Media Center.
catbox-performance-cold-app-start-up-settings Test delle prestazioni di avvio a freddo dell'app per le impostazioni.
catbox-performance-create-and-switch-to-new-guest Misura la latenza per passare a un nuovo ospite.
catbox-performance-create-and-switch-to-new-user Misura la latenza per passare a un nuovo utente non amministratore.
catbox-performance-hot-app-start-up-dialer Test delle prestazioni di avvio rapido delle app per Dialer e Telefono.
catbox-performance-hot-app-start-up-mediacenter Test delle prestazioni di avvio delle app più usate per Media Center.
catbox-performance-hot-app-start-up-settings Test delle prestazioni di avvio rapido delle app per Impostazioni.
catbox-performance-jank-appgrid Test delle prestazioni per Appgrid.
catbox-performance-jank-contact-list Test delle prestazioni per Contatti.
catbox-performance-jank-media Test delle prestazioni per i media.
catbox-performance-jank-media-switch-playback Test delle prestazioni per la riproduzione con cambio di contenuti multimediali.
catbox-performance-jank-notifications Test delle prestazioni per le notifiche.
catbox-performance-jank-settings Test delle prestazioni per le Impostazioni.
catbox-performance-switch-to-existing-user Misura la latenza per passare a un utente esistente.

Esegui il test lato host su più dispositivi

L'esecuzione dei test lato host su più dispositivi utilizza CATBox per eseguire il test in una sessione. Ad esempio, BTDiscoveryTest:

make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest

CATBox installa apk e poi il test viene eseguito nell'ambiente di esecuzione Python corretto.

Esaminare i risultati del test CATBox

I risultati delle esecuzioni dei test funzionali e delle prestazioni vengono salvati in android-catbox/results/latest.

Tipo di risultato Posizione
Risultati del test test_result.xml
Dettagli dei test di errore test_result_failures_suite.html
Risultati delle metriche sul rendimento /report-log-files/CatboxPerformanceTests.reportlog.json
Esecuzioni di test funzionali e delle prestazioni /android-catbox/logs/latest