Il Programma di compatibilità Android è il fattore chiave per sostenere i feedback positivi dell'ecosistema Android. CTS è lo strumento chiave per garantire la qualità della compatibilità nella scala. La Il team di Android continua a migliorare la copertura dello strumento CTS e ai test. L'aggiunta regolare di casi di test migliora notevolmente la qualità dei dispositivi compatibili.
Domande di carattere generale
Questa sezione fornisce domande frequenti generali su 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 sistemi non API quali il ciclo di vita e le prestazioni dell'app.
Come viene concessa la licenza CTS?
Il CTS è concesso in licenza ai sensi della stessa Apache Software License 2.0 che degli usi principali di Android.
I codec sono verificati da CTS?
Sì. Tutti i codec obbligatori sono verificati da CTS.
Domande specifiche per i test
Questa sezione fornisce 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. Anche se il comando run è lo stesso avviene nelle diverse versioni, il risultato dello sharding si comporta in modo diverso. Lo sharding CTS assegna in modo statico scenari di test ai dispositivi in corso di test (DUT) come segue:
- Comando: esegui cts
- Configurazione per Android 8.1 e versioni precedenti: /tools/cts-tradefed/res/config/cts.xml
La suddivisione in parti TF assegna dinamicamente gli scenari di test ai DUT disponibili come segue:
- Comando: run cts
- Configurazione per Android 9: /platform/test/suite_harness/+/pie-cts-dev/tools/cts-tradefed/res/config/cts-suite.xml
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 ABI specifiche. Di seguito sono riportate le linee guida per più ABI:
- 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% del l'ABI del dispositivo.
Perché ci sono così tanti casi di test segnalati come Non eseguiti?
Dovresti controllare invece il numero Module Done (Modulo completato) sul 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. Il nuovo framework di test è più conservativo e registra un numero maggiore di test Non eseguito quando si verifica un problema.
L'esecuzione fino al completamento di un modulo segnala che il messaggio Modulo non completato chiamata recente (done="false") nel report durante le seguenti operazioni:
- 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
- --escludi-filtro
- -t/--test (Opzione non ancora supportata al nuovo tentativo)
- --retry-type non riuscito
- --subplan
Per ottenere lo stato Modulo completato (done="true") per questi moduli, riprova a eseguire quanto segue per l'ultima chiamata:
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 di nuovo in isolamento direttamente tramite
run cts -m CtsNNAPITestCases
.
Come posso evitare che la preparazione dei test non vada a buon fine dietro un 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 for 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 tuo dispositivo NON deve supportare le app per Android che accedono agli elementi di sicurezza, nel UICC (ad es. una scheda SIM) distribuiti dagli operatori di rete mobile (operatori) o incorporati nel dispositivo, puoi configurare il manifest HIDL in modo da non includere l'elemento HAL
android.hardware.secure_element
. 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, nell'UICC (ad es. una scheda SIM) distribuita dagli operatori di rete mobile (carrier) o 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 trovare le schede SIM di 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?
Lo scenario di test non si avvia perché il test della scheda SIM è bloccato. Disattiva l'opzione Blocca scheda SIM nelle impostazioni di blocco della scheda SIM prima di eseguire il CTS con lo sharding dei token.