Ottimizza il CTS

La suite di test di compatibilità (CTS) di Android fornisce milioni di test individuali. Sebbene sia necessario eseguire CTS di frequente 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 dei test e come ottimizzare le risorse hardware nella procedura.

Dispositivi di sharding

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

Stazione di test Android

Utilizza Android Test Station (ATS) per impiegare un'interfaccia utente per eseguire suite di test Android standard. Questo strumento funge da interfaccia web per Trade Federation (TF), consentendoti di eseguire il CTS con una configurazione minima su un insieme di dispositivi di test, nonché di stabilire una pianificazione per eseguire continuamente i test.

La stazione di test Android supporta la modalità multi-host, con cui un singolo host controller ATS può essere utilizzato per gestire dispositivi e test su più host worker ATS.

Esecuzione continua dell'emulatore

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

drawElements Quality Program (dEQP)

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

Poiché i driver grafici Android fanno parte del firmware 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 software, in base alla pianificazione degli aggiornamenti firmware puoi escludere questo modulo per diversi cicli.

Un'opzione è eseguire CtsDeqpTestCases separatamente su un insieme 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 multimediali

Gli scenari 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 di CTS. I ritardi possono verificarsi quando:

  • Download di file multimediali o riproduzione ripetuta di file multimediali durante i test.
  • Ritentativo 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 dei contenuti multimediali localmente o su un server locale. Per maggiori dettagli, vedi Eseguire i test multimediali CTS in locale.

Il framework multimediale e i relativi 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 degli aggiornamenti firmware.