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à nella scala. Il team Android continua a migliorare lo strumento CTS e la copertura dei test. L'aggiunta regolare di casi di test migliora notevolmente la qualità dei dispositivi compatibili.

Domande di carattere generale

Questa sezione fornisce le domande frequenti generali sul CTS.

Quali tipi di cose vengono testate dal CTS?

Il CTS verifica che tutte le API con tipi di dati forti di Android supportate siano presenti e si comportino correttamente. Il CTS testa anche altri comportamenti del sistema non API, come prestazioni e ciclo di vita delle app.

Come viene concessa la licenza per il CTS?

CTS è concesso in licenza ai sensi della stessa licenza software Apache 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 per i test

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

Qual è la differenza tra sharding CTS e sharding TF?

CTS Sharding e TF Sharding sono piani di test completamente diversi basati su codebase di infrastrutture di test diverse. Sebbene il comando di esecuzione sia uguale per tutte le versioni, il risultato dello sharding si comporta in modo diverso. La suddivisione in parti del CTS assegna in modo statico gli scenari di test ai dispositivi in test (DUT) come segue:

La suddivisione in parti TF assegna dinamicamente gli scenari di test ai DUT disponibili come segue:

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 specifiche. Le linee guida per più ABI sono le seguenti:

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

Vedi CDD 3.3.1. Application Binary Interface 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 con runtime a 32 o 64 bit specifici. 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é ci sono così tanti scenari di test segnalati come "Non eseguito"?

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

Nelle versioni precedenti, i moduli CTS venivano segnalati come Modulo completato in modo troppo aggressivo prima del completamento. Di conseguenza, è stato segnalato un numero di Moduli completati senza che tutti i casi di test siano stati completati, anche se alcuni dispositivi hanno riscontrato problemi. La nuova configurazione di test è più conservativa e segnala un numero più elevato di test Non eseguiti quando si verifica un problema.

Un modulo eseguito fino al completamento riporta Modulo non completato nell'esecuzione più recente (done="false") nel report durante i seguenti casi:

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

    • --include-filter
    • --exclude-filter
    • -t/--test (opzione non ancora supportata al nuovo tentativo)
    • --retry-type non riuscito
    • --subplan

Per ottenere lo stato Module Done (done="true") per questi moduli, prova a eseguire di nuovo il comando seguente per la chiamata 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) è contrassegnato come Modulo completato nel nuovo report.

Eccezioni

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

Come faccio ad evitare che la preparazione al test non vada a buon fine dietro il firewall aziendale?

Tutte le suite di test automatiche tentano di scaricare i file multimediali CTS o i file di logica aziendale durante l'esecuzione. In molti ambienti aziendali, è normale che siano presenti un firewall e un proxy, il che fa fallire la preparazione del test. Esegui la riga seguente o aggiungila a .profile (su Ubuntu).

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

È necessaria una scheda SIM per CTS per Secure Element?

La necessità di una scheda SIM per il test dipende dal fatto che la funzionalità sia supportata nel dispositivo di test.

  • Se il dispositivo NON deve supportare le app Android che accedono a elementi sicuri (nell'UICC (ad es. una scheda SIM) distribuita dagli operatori di rete mobile (operatore) o incorporate nel dispositivo, puoi configurare il manifest HIDL in modo che non includa l'elemento android.hardware.secure_element HAL. In questo caso, l'API android.se.omapi.SEService.getReaders() registra un elenco vuoto e il test CTS viene superato automaticamente e registra un superamento del CTS.
  • Se il tuo dispositivo DEVE supportare le app per Android che accedono agli elementi di sicurezza, sia nell'UICC (ad es. una scheda SIM) distribuita dagli operatori di rete mobile (carrier) sia integrati nel dispositivo, devi implementare correttamente l'elemento di sicurezza e testarlo internamente. Test CTS per il componente Secure Element illustra come prepararsi a eseguire i test CTS che garantiscono che il pacchetto dell'API android.se.omapi aggiunto in Android 9 sia funzionale. Ti consigliamo inoltre di eseguire test aggiuntivi autonomamente, poiché la copertura dei test CTS è minima.

Dove posso acquistare le schede SIM per CTS per Secure Element?

Puoi contattare il tuo fornitore di SIM preferito.

Perché la SIM arancione è nella schermata di blocco durante l'esecuzione del CTS con lo sharding dei token?

Il test case non si avvia perché la scheda SIM è bloccata. Disattiva l'opzione Blocca scheda SIM nelle impostazioni di blocco della SIM prima di eseguire il CTS con lo sharding dei token.