Domande frequenti sul CTS

Il Programma di compatibilità Android è il fattore chiave per mantenere il feedback positivo per l'ecosistema Android. CTS è lo strumento chiave per garantire la qualità della compatibilità su vasta scala. Il team Android continua a migliorare lo strumento CTS e la copertura dei test. L'aggiunta regolare di scenari di test ha migliorato significativamente la qualità dei dispositivi compatibili.

Domande di carattere generale

Questa sezione fornisce le domande frequenti generali sul CTS.

Quali tipi di elementi vengono testati dal CTS?

Il CTS verifica che tutte le API Android con controllo del tipo supportate siano presenti e si comportino correttamente. Il CTS testa anche altri comportamenti del sistema non API, come il ciclo di vita e il rendimento delle app.

Come viene concessa la licenza per il CTS?

Il CTS è concesso in licenza ai sensi della stessa Apache Software License 2.0 utilizzata dalla maggior parte di Android.

I codec sono verificati da CTS?

Sì. Tutti i codec obbligatori vengono verificati da CTS.

Domande specifiche del test

Questa sezione fornisce domande frequenti che aiutano a eseguire i test CTS in modo più efficiente.

Qual è la differenza tra CTS Sharding e TF Sharding?

CTS Sharding e TF Sharding sono piani di test completamente diversi basati su un codebase dell'infrastruttura di test diverso. Sebbene il comando run sia lo stesso per le diverse versioni, il risultato dello sharding si comporta in modo diverso. CTS Sharding assegna staticamente gli scenari di test ai dispositivi in fase di test (DUT) nel seguente modo:

TF Sharding assegna dinamicamente gli scenari di test ai DUT disponibili nel seguente modo:

Cosa ci si aspetta da un dispositivo che supporta più ABI?

Il dispositivo deve superare tutti i test CTS e CTS Verifier per ogni modalità ABI che dichiara di supportare. Pertanto, è necessario eseguire un'app per le ABI particolari. Le linee guida per più ABI sono le seguenti:

  • Per CTS e CTS Verifier, sono disponibili release ARM e x86 per ogni architettura. Ciascuno di essi può supportare la modalità a 32 o 64 bit.
  • Per i test CTS, se un dispositivo supporta sia ARM sia x86, deve eseguire e superare rispettivamente i test CTS ARM e x86.

Vedi CDD 3.3.1. Application Binary Interfaces per i requisiti CDD relativi all'ABI.

È sufficiente eseguire un test solo sull'ABI principale (ad esempio, 64 bit) per ridurre il tempo di esecuzione del test?

No.Un'app per Android viene eseguita sui propri runtime a 32 o 64 bit. Il codice macchina, il percorso del codice e lo stato effettivi sono diversi tra 32 e 64. Se salti una modalità, copri solo il 50% dell'ABI del dispositivo.

Perché così tanti scenari di test sono segnalati come Non eseguiti?

Devi controllare il numero Modulo completato anziché il numero Non eseguito.

Nelle versioni precedenti, i moduli CTS venivano segnalati come Modulo completato troppo presto prima di essere completati. Pertanto, è stato segnalato un numero di Moduli completati senza che tutti gli scenari di test fossero completi, anche quando alcuni dispositivi avevano problemi. Il nuovo test harness è più conservativo e segnala un numero maggiore di test Non eseguiti quando si verifica un problema.

L'esecuzione di un modulo fino al completamento segnala Modulo non completato nell'invocazione più recente (done="false") nel report durante:

  • L'esecuzione di prova del modulo è stata interrotta da un problema di connessione del dispositivo.
  • Non sono state eseguite tutte le esecuzioni di test previste per il modulo.
  • Riprova (utilizzando l'opzione -r/--retry) con opzioni di filtro aggiuntive, ad esempio:

    • --include-filter
    • --exclude-filter
    • -t/--test (opzione non ancora supportata per i nuovi tentativi)
    • --retry-type failed
    • --subplan

Per ottenere lo stato Modulo completato (done="true") per questi moduli, riprova quanto segue per l'invocazione più recente:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

Un modulo eseguito senza nessuno dei problemi menzionati in precedenza (anche con 0 test rimanenti) viene contrassegnato come Modulo completato nel nuovo report.

Eccezioni

  • CtsNNAPITestCases presenta un problema noto dovuto alla limitazione di linux/OS degli argomenti. Il modulo può essere eseguito nuovamente in isolamento direttamente tramite run cts -m CtsNNAPITestCases.

Come posso evitare che la preparazione del test non riesca a superare il firewall aziendale?

Tutte le suite di test automatizzati tentano di scaricare i file multimediali CTS o i file di logica di business durante l'esecuzione. In molti ambienti aziendali, un firewall e un proxy sono tipici, il che causa l'esito negativo della preparazione del test. Esegui la seguente riga o aggiungila a .profile (su Ubuntu).

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

Ho bisogno di una scheda SIM per il test CTS per Secure Element?

La necessità di una scheda SIM per il test dipende dalla comprensione se la funzionalità è supportata nel dispositivo di test.

  • Se il tuo dispositivo NON deve supportare l'accesso delle app per Android agli elementi sicuri, ovvero nella UICC (ad es. una scheda SIM) distribuita dagli operatori di rete mobile (gestori) o incorporata nel dispositivo, puoi configurare il manifest HIDL in modo che non includa l'elemento HAL android.hardware.secure_element. In questo caso, l'API android.se.omapi.SEService.getReaders() restituisce un elenco vuoto e il test CTS viene superato automaticamente e segnala un risultato positivo per il CTS.
  • Se il tuo dispositivo DEVE supportare l'accesso delle app per Android a elementi sicuri, ovvero nella UICC (ad es. una scheda SIM) distribuita dagli operatori di rete mobile (gestori) o incorporata nel dispositivo, devi implementare correttamente l'elemento sicuro e testarlo internamente. CTS Test for Secure Element descrive come prepararsi a eseguire i test CTS che garantiscono il funzionamento del pacchetto API android.se.omapi aggiunto in Android 9. Ti consigliamo inoltre di eseguire ulteriori test in autonomia, poiché la copertura dei test CTS è minima.

Dove posso trovare le schede SIM per il test CTS per Secure Element?

Puoi contattare il fornitore di SIM che preferisci.

Perché la SIM Orange è nella schermata di blocco durante l'esecuzione di CTS con la suddivisione dei token?

Lo scenario di test non viene avviato perché il test della scheda SIM è bloccato. Disattiva l'opzione Blocco SIM nelle **impostazioni di blocco SIM prima di eseguire il test CTS con la suddivisione dei token.