Domande frequenti sul CTS

Il Programma di compatibilità Android è il fattore chiave per sostenere il feedback positivo per l'ecosistema Android. CTS è lo strumento chiave per garantire la qualità della compatibilità nella bilancia. Il team Android continua a migliorare lo strumento CTS e a testare la copertura. L'aggiunta regolare di casi di test apporta un miglioramento significativo alla qualità dei dispositivi compatibili.

Domande generali

Questa sezione fornisce le domande frequenti generali sul CTS.

Che tipo di cose verifica il CTS?

Il CTS verifica che tutte le API Android con tipizzazione forte supportate siano presenti e si comportino correttamente. Il CTS testa anche altri comportamenti del sistema non API, come il ciclo di vita e le prestazioni dell'app.

Come viene autorizzata la CTS?

Il CTS è concesso in licenza con la stessa licenza software Apache 2.0 utilizzata dalla maggior parte di Android.

I codec sono verificati da CTS?

SÌ. Tutti i codec obbligatori sono 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 Sharding CTS e Sharding TF?

CTS Sharding e TF Sharding sono piani di test totalmente diversi alimentati da codebase di infrastrutture di test diverse. Anche se il comando run è lo stesso nelle diverse versioni, il risultato dello sharding si comporta diversamente. CTS Sharding assegna staticamente i casi di test ai dispositivi sotto test (DUT) come segue:

TF Sharding assegna dinamicamente i casi 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 ciascuna modalità ABI che dichiara di supportare. Pertanto, è necessario eseguire un'app per gli ABI specifici. Le linee guida per più ABI sono le seguenti:

  • Per CTS e CTS Verifier, sono disponibili versioni ARM e x86 per ciascuna architettura. Ognuno di essi 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 entrambi i test ARM e x86 CTS.

Vedere CDD 3.3.1. Interfacce binarie dell'applicazione per i requisiti CDD su ABI.

È sufficiente eseguire un test solo sull'ABI primaria (ad esempio, 64 bit) per ridurre i tempi di esecuzione del test?

No. Un'app Android viene eseguita con 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é ci sono così tanti casi di test segnalati come Non eseguiti?

Dovresti controllare il numero del modulo completato invece del numero non eseguito .

Nelle versioni precedenti, i moduli CTS venivano segnalati come Modulo Fatto in modo troppo aggressivo prima di essere completati. Pertanto, è stato segnalato un numero di Moduli completati senza che tutti i casi di test fossero stati completati, anche quando alcuni dispositivi presentavano problemi. Il nuovo sistema di test è più conservativo e segnala un numero maggiore di test non eseguiti quando si verifica un problema.

Un modulo eseguito fino al completamento segnala Modulo non completato nell'invocazione più recente (done="false") nel report durante quanto segue:

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

    • --include-filtro
    • --exclude-filtro
    • -t/--test (Opzione non ancora supportata al nuovo tentativo)
    • --retry-type non riuscito
    • --sottopiano

Per ottenere uno stato di Modulo Fatto (done="true") per questi moduli, riprovare 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 degli argomenti di Linux/OS. Il modulo può essere eseguito nuovamente in isolamento tramite run cts -m CtsNNAPITestCases direttamente.

Come posso evitare che la preparazione del test fallisca dietro il firewall aziendale?

Tutte le suite di test automatizzati tentano di scaricare i file multimediali CTS o i file di logica aziendale durante il runtime. In molti ambienti aziendali sono tipici un firewall e un proxy, che rendono fallita la preparazione del test. Esegui la riga seguente o aggiungila a .profile (su Ubuntu).

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

Ho bisogno di una carta SIM per CTS per Secure Element?

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

  • Se il tuo dispositivo NON ha bisogno di supportare le app Android che accedono a elementi sicuri, nell'UICC (ad esempio, una scheda SIM) distribuiti dagli operatori di rete mobile (operatori) o incorporati 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.opi.SEService.getReaders() riporta un elenco vuoto e il test CTS passa automaticamente e segnala un superamento per il CTS.
  • Se il tuo dispositivo DEVE supportare le app Android che accedono a elementi sicuri, nell'UICC (ad esempio, una scheda SIM) distribuiti dagli operatori di rete mobile (operatori) o incorporati 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.opi aggiunto in Android 9. Ti consigliamo inoltre di eseguire autonomamente ulteriori test poiché la copertura dei test CTS è minima.

Dove posso trovare le carte SIM per CTS per Secure Element?

Puoi contattare il tuo fornitore di SIM preferito.

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

Il test case non si avvia perché il test della scheda SIM è bloccato. Disabilitare Blocca scheda SIM in **Impostazioni blocco scheda SIM prima di eseguire il CTS con lo sharding dei token.