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 nel settore auto e motori 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 offrire prodotti di alta qualità sul 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 di prestazioni su un dispositivo di destinazione per auto e motori e con l'utilizzo di un dispositivo associato.

La seguente immagine illustra un design 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.

Automotive test framework

CATBox si basa su un framework di test per auto e motori chiamato Spectatio, che fornisce API per testare diverse app su dispositivi per auto e motori. È basato 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 è la release del traguardo di sviluppo denominato 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 traguardo di sviluppo con nome in codice R. Utilizza i seguenti link per scaricare le suite di test CATBox per Android 11:

Crea CATBox

Utilizza il comando catbox build quando il codice AOSP di Android è disponibile sulla workstation locale.

Per compilare il pacchetto CATBox localmente:

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

    lunch <target>
    
  2. Per compilare CATBox, esegui il seguente 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 ciascuna 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.

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 Android Debug Bridge (adb) e Android Asset Packaging Tool (AAPT), nonché di aver aggiunto la posizione di questi strumenti al percorso di sistema del computer. Per maggiori dettagli, consulta ADB e AAPT.

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

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

    2. Attendi che il dispositivo si riavvii automaticamente.

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

      adb devices
      
    4. Per attivare il ruolo root, esegui il seguente comando:

      adb -s DEVICE_SERIAL root
      

      Sostituisci DEVICE_SERIAL con l'ID di serie del dispositivo auto e motori.

    5. Connettiti alla rete Wi-Fi.

Estrai il pacchetto CATBox

Dopo aver configurato il dispositivo, decomprimere il pacchetto CATBox e andare alla cartella estratta:

unzip android-catbox.zip
cd android-catbox

Esegui i 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 di serie del dispositivo auto e motori. 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 delle impostazioni relative alle informazioni sull'app.
catbox-functional-admin-user-grant-permissions Test funzionali per l'assegnazione delle autorizzazioni agli utenti amministratori.
catbox-functional-app-info-setting-ui-elements Test funzionali delle impostazioni relative alle informazioni sull'app.
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 Test Bluetooth utilizzando Mobly.
catbox-functional-brightness-palette Test funzionali della barra di stato.
catbox-functional-btmoped Test funzionali basati su Bluetooth per i ciclomotori.
catbox-functional-date-time-setting Test funzionali di impostazione di data e ora.
catbox-functional-dial Test di funzionalità del quadrante.
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 di funzionalità della casa.
catbox-functional-lock-screen Test funzionali della schermata di blocco.
catbox-functional-mediacenter Test funzionali di Media Center.
catbox-functional-microphone-recent-apps Test funzionali delle impostazioni del microfono.
catbox-functional-microphone-setting Test funzionali delle impostazioni 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 di impostazione dell'autorizzazione per le app di privacy.
catbox-functional-privacy-setting Test funzionali delle impostazioni 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 di 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 di geolocalizzazione.
catbox-functional-sound-setting Test funzionali delle impostazioni audio.
catbox-functional-status-bar Test funzionali della barra di stato.
catbox-functional-storage-setting Test funzionali delle impostazioni di archiviazione.
catbox-functional-system-setting Test funzionali delle impostazioni di sistema.
catbox-functional-systemui Test dell'interfaccia utente di sistema.
catbox-functional-ux-restriction Test funzionali relativi alle 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 del rendimento di CATBox.

Piani di test delle prestazioni Descrizione
catbox-performance-cold-app-start-up-dialer Test delle prestazioni all'avvio a freddo delle app per Telefono e Dialer.
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 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 di prestazioni relativo all'avvio delle app calde per Telefono e Dialer.
catbox-performance-hot-app-start-up-mediacenter Test delle prestazioni all'avvio delle app calde per Media Center.
catbox-performance-hot-app-start-up-settings Test delle prestazioni di avvio dell'app calda per le 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 di rendimento per i contenuti multimediali.
catbox-performance-jank-media-switch-playback Test di prestazioni per la riproduzione dei contenuti multimediali.
catbox-performance-jank-notifications Test di rendimento per le notifiche.
catbox-performance-jank-settings Test di rendimento per le 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 apk e il test viene eseguito nell'ambiente di esecuzione Python corretto.

Esamina i risultati del test CATBox

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