Test automobilistici completi in una scatola

CATBox (Complete Automotive Tests in a Box) è un pacchetto open source che fornisce i framework e gli strumenti necessari per ottimizzare ed eseguire il settore automobilistico i test con una configurazione minima. CATBox è scalabile e compatibile gli strumenti, l'infrastruttura e i test che usi per testare e convalidare il tuo Implementazioni di Automotive OS (AAOS). Di conseguenza, puoi fornire video di alta qualità sul mercato.

Progettazione e implementazione di CATBox

La suite di test CATBox fornisce gli strumenti, i framework e i test necessari Eseguire test funzionali e di prestazioni su un dispositivo target nel settore auto e motori; durante l'utilizzo di un dispositivo associato.

L'immagine seguente illustra un design di alto livello di un pacchetto CATBox.

CATBox

Figura 1. Pacchetto CATBox

Trattato

Tradefed è un framework di test continuo open source utilizzato per eseguire test su Dispositivi Android Per maggiori dettagli, vedi Trade Federation (Panoramica della Federazione commerciale).

Framework per i test nel settore auto e motori

CATBox si basa su un framework di test Automotive chiamato Spectatio, che fornisce API per i test di varie app per auto e motori. Si basa su di UI Automator, un framework di test open source che fornisce una serie di API per creare test dell'interfaccia utente che interagiscono con le applicazioni dell'utente e del sistema.

Download della suite di test CATBox

Android 14

Android Automotive 14 è la release di il traguardo di sviluppo, detto in codice U. Usa i seguenti link per scaricare Suite di test CATBox per Android 14:

Android 12

Android 12 rappresenta il traguardo di sviluppo nome in codice S. Utilizza i seguenti link per scaricare le suite di test CATBox Android 12:

Android 11

Android 11 rappresenta la release del traguardo di sviluppo, chiamato in codice R. Utilizza la i seguenti link per scaricare le suite di test CATBox per Android 11:

Creazione CATBox

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

Per creare il pacchetto CATBox in locale:

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

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

    make catbox
    

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

Configurare l'ambiente

La configurazione dell'ambiente richiesta per eseguire i test CATBox è simile a: Configurazione di CTS. Per configurare il completa le seguenti attività:

configura ed esegui CATBox

Utilizzare il framework di test Tradefed per eseguire i test sui dispositivi Android. Prima di per configurare CATBox, consulta la Panoramica sulla Federazione di scambio.

Per configurare ed eseguire CATBox, consulta le sezioni seguenti.

Configura 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 entrambi Android Debug Bridge (adb) e ai Strumento per la creazione di pacchetti di asset Android (AAPT) nonché aggiunta la posizione di questi strumenti al percorso di sistema in una macchina virtuale. Per maggiori dettagli, vedi ADB e AAPT.

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

    1. Per ripristinare i dati di fabbrica del dispositivo automobilistico, vai a Impostazioni > Sistema > Opzioni di reimpostazione > Resetta tutti i dati.

    2. Attendi che il dispositivo si riavvii automaticamente.

    3. Assicurati che ADB sia attivato. Per verificare che il dispositivo sia disponibile, esegui il comando seguente comando:

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

      adb -s DEVICE_SERIAL root
      

      Sostituisci DEVICE_SERIAL con l'ID seriale del dispositivo automobilistico.

    5. Connettiti alla rete Wi-Fi.

Estrai il pacchetto CATBox

Dopo aver configurato il dispositivo, decomprimi il pacchetto CATBox e vai alla 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 automobilistico. Se hai più dispositivi connessi alla macchina host, usa DEVICE_SERIAL per distinguerli. Sostituisci TEST_PLAN_NAME con il nome del piano di test che preferisci 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 seguente tabella mostra i piani di test funzionali disponibili.

Piani di test funzionali Descrizione
catbox-functional Test funzionali.
catbox-functional-app-info-setting Informazioni sulle app che impostano i test funzionali.
catbox-functional-admin-user-grant-permissions Test funzionali delle autorizzazioni concesse all'utente amministratore.
catbox-functional-app-info-setting-ui-elements Informazioni sulle app che impostano i test funzionali.
catbox-functional-appgrid Test funzionali della griglia di app.
catbox-functional-base Elenco dei test funzionali.
catbox-functional-bluetooth-audio Test di funzionalità audio Bluetooth.
catbox-functional-bluetooth-palette Test funzionali della barra di stato.
catbox-functional-bluetooth-tests La funzionalità Bluetooth esegue il test con Mobly.
catbox-functional-brightness-palette Test funzionali della barra di stato.
catbox-functional-btmoped Test funzionali basati su ciclomotori Bluetooth.
catbox-functional-date-time-setting Data e ora per l'impostazione dei test funzionali.
catbox-functional-dial Componi i test funzionali.
catbox-functional-display-setting Test funzionali per l'impostazione del display.
catbox-functional-driving-optimized-apps Test funzionali delle restrizioni UX.
catbox-functional-enable-developers-option Abilita i test funzionali delle opzioni degli sviluppatori.
catbox-functional-home Test di funzionalità della casa.
catbox-functional-lock-screen Test del funzionamento della schermata di blocco.
catbox-functional-mediacenter Test funzionali di Media Center.
catbox-functional-microphone-recent-apps Test funzionali per l'impostazione del microfono.
catbox-functional-microphone-setting Test funzionali per l'impostazione del microfono.
catbox-functional-multiuser Test funzionali di più utenti.
catbox-functional-multiuser-system-user Test funzionali di più utenti.
catbox-functional-navigation-bar Test della funzionalità della barra di navigazione.
catbox-functional-network-palette Test funzionali della barra di stato.
catbox-functional-network-setting Test funzionali dell'impostazione della rete.
catbox-functional-notification Test funzionali delle notifiche.
catbox-functional-privacy-permission-manager Test funzionali per l'impostazione delle autorizzazioni delle app per la privacy.
catbox-functional-privacy-setting Test funzionali per l'impostazione del microfono.
catbox-functional-privacy-setting-ui-elements Test funzionali per le impostazioni della privacy.
catbox-functional-profile-icon Test funzionali della barra dell'icona del profilo.
catbox-functional-profiles-icon-list Test dell'elenco delle icone dei profili.
catbox-functional-security-setting Test funzionali per le impostazioni di sicurezza.
catbox-functional-setting Impostazione dei test funzionali.
catbox-functional-settings-location Configurazione dei test della posizione in corso...
catbox-functional-sound-setting Test funzionali per l'impostazione del suono.
catbox-functional-status-bar Test funzionali della barra di stato.
catbox-functional-storage-setting Test funzionali per l'impostazione dello spazio di archiviazione.
catbox-functional-system-setting Test funzionali per le impostazioni del sistema.
catbox-functional-systemui Test dell'interfaccia utente di sistema.
catbox-functional-ux-restriction Test funzionali delle restrizioni UX.
catbox-functional-ux-restriction-facet-bar Test funzionali delle restrizioni UX.

La seguente tabella elenca i piani di test sul rendimento di CATBox.

Piani di test del rendimento Descrizione
catbox-performance-cold-app-start-up-dialer Test delle prestazioni dell'avvio a freddo dell'app Telefono e Telefono.
catbox-performance-cold-app-start-up-mediacenter Test delle prestazioni all'avvio a freddo dell'app per Media Center.
catbox-performance-cold-app-start-up-settings Test delle prestazioni all'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 all'avvio dell'app a caldo per Telefono e Telefono.
catbox-performance-hot-app-start-up-mediacenter Test delle prestazioni all'avvio dell'app a caldo per Media Center.
catbox-performance-hot-app-start-up-settings Test delle prestazioni all'avvio dell'app a caldo 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 del rendimento per i media.
catbox-performance-jank-media-switch-playback Test delle prestazioni per la riproduzione dei sensori multimediali.
catbox-performance-jank-notifications Test delle prestazioni per le notifiche.
catbox-performance-jank-settings Test delle prestazioni per Impostazioni.
catbox-performance-switch-to-existing-user Misura la latenza per passare a un utente esistente.

Esegui il test lato host multidispositivo

L'esecuzione dei test lato host multidispositivo 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 l'apk, quindi il test viene eseguito nel file Python corretto dell'ambiente di esecuzione.

Esamina i risultati del test CATBox

I risultati delle esecuzioni dei test funzionali e di 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