Ottimizza il CTS

La suite per il test di compatibilità Android (CTS) offre milioni di test individuali. Sebbene sia necessario eseguire spesso CTS durante la fase di sviluppo del software, è possibile ridurre il tempo necessario per eseguire questi test.

Questa pagina descrive i metodi che puoi utilizzare per ridurre il tempo di esecuzione del test e come ottimizzare le risorse hardware nel processo.

Dispositivi condivisi

Per ridurre il ciclo di lavoro, valuta la possibilità di eseguire il CTS su più dispositivi (sharding). Per scoprire come utilizzare lo sharding, consulta Eseguire i test CTS.

Postazione di test Android

Utilizza la Android Test Station (ATS) per utilizzare un'interfaccia utente per eseguire suite di test Android standard. Questo strumento funge da interfaccia web per Trade Federation (TF), consente di eseguire il CTS con una configurazione minima su un insieme di dispositivi di test e di stabilire una pianificazione per l'esecuzione continua dei test.

La stazione di test Android supporta la modalità multi-host, con la quale è possibile utilizzare un singolo host controller ATS per gestire dispositivi e test su più host worker ATS.

Esecuzione continua dell'emulatore

Per eseguire continuamente il CTS durante la fase di sviluppo, Android Virtual Devices (AVD) possono essere utilizzati come sostituti dell'hardware. Le regressioni degli errori di test possono essere identificate in anticipo, risparmiando molto del tempo necessario per la valutazione e l'analisi delle cause principali. È possibile utilizzare più istanze dell'emulatore per lo sharding e pianificarne l'esecuzione continua con la stazione di test Android.

drawElements Quality Program (dEQP)

Il Programma qualità drawElements (dEQP) è incluso nel CTS di Android. Denominato CtsDepqTestCases, questo programma si concentra sulla copertura dei test della grafica di Android. Questo modulo rappresenta quasi l'80% di tutti i casi di test in Android CTS e il 6% del tempo totale di esecuzione.

Poiché i driver grafici di Android fanno parte del firmware di Android (BSP) e non cambiano molto nel corso dello sviluppo, puoi eseguire questo modulo in modo strategico. Ad esempio, se esegui CTS ogni due settimane (o meno) durante lo sviluppo del software, in base alla pianificazione degli aggiornamenti del firmware puoi escludere questo modulo per diversi cicli.

Un'opzione è eseguire CtsDeqpTestCases separatamente su un gruppo di dispositivi e poi inviare i report CTS. Ad esempio, su due host diversi.

Host 1:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases

Host 2:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases

Scenari di test dei contenuti multimediali

I casi di test multimediali verificano i servizi multimediali come audio, video e i driver multimediali. Questi moduli di test multimediali contribuiscono maggiormente al tempo di esecuzione del CTS. I ritardi possono verificarsi quando:

  • Scaricare file multimediali o riprodurli ripetutamente durante i test.
  • Riesecuzione degli scenari di test non riusciti.

Android CTS contiene i seguenti moduli di test:

  • CtsMediaStressTestCases
  • CtsMediaPlayerTestCases
  • CtsMediaAudioTestCases
  • CtsVideoTestCases
  • CtsMediaDecoderTestCases
  • CtsMediaCodecTestCases
  • CtsMediaV2TestCases

Valuta la possibilità di eseguire alcuni test sui contenuti multimediali localmente o su un server locale. Per maggiori dettagli, consulta Eseguire i test dei contenuti multimediali CTS localmente.

Il framework multimediale e i suoi driver (decoder e codificatori) fanno parte del firmware Android (BSP). Puoi eseguire questo modulo in modo strategico ed escluderlo per diversi cicli, in base alla pianificazione dell'aggiornamento del firmware.