Compatibility Test Suite (CTS) è una suite di test gratuita di livello commerciale utilizzata dai produttori di dispositivi per garantire che i loro dispositivi siano compatibili e per segnalare i risultati dei test per le convalide. CTS è destinato ad essere integrato nel flusso di lavoro quotidiano (ad esempio attraverso un sistema di costruzione continua) degli ingegneri che costruiscono un dispositivo. L'intento di CTS è quello di rivelare tempestivamente le incompatibilità e garantire che il software rimanga compatibile durante tutto il processo di sviluppo.
CTS è disponibile per il download come file binario o come sorgente nell'Android Open Source Project (AOSP) . CTS viene eseguito su un computer desktop ed esegue casi di test direttamente sui dispositivi collegati o su un emulatore.
CTS contiene due componenti software principali:
- Il sistema di test della Trade Federation viene eseguito sul tuo computer desktop e gestisce l'esecuzione dei test. Trade Federation offre la possibilità di suddividere i test su più dispositivi sotto test (DUT). È inoltre possibile utilizzare la funzione di ripetizione della suite per riprovare solo per gli errori anziché per le suite complete, riducendo notevolmente i tempi di riesecuzione.
- I singoli casi di test vengono eseguiti sul DUT. I casi di test sono scritti in Java come test JUnit e file .apk Android confezionati da eseguire sul dispositivo di destinazione effettivo.
Verificatore della suite di test di compatibilità (verificatore CTS)
Il Compatibility Test Suite Verifier (CTS Verifier) è un supplemento a CTS disponibile per il download . Il CTS Verifier fornisce test per API e funzioni che non possono essere testate su un dispositivo fisso senza input manuale (ad esempio, qualità audio e accelerometro) o posizionamento manuale.
Il CTS Verifier è uno strumento per i test manuali e include i seguenti componenti software:
L'app CTS Verifier che viene eseguita sul DUT (e su un 2° dispositivo per i requisiti di misurazione della distanza) e raccoglie i risultati.
Gli eseguibili o gli script eseguiti sul computer desktop per fornire dati o controllo aggiuntivo per alcuni casi di test nell'app CTS Verifier.
Flusso di lavoro
![Flusso CTS](https://source.android.com/static/docs/compatibility/cts/images/cts-0.png?authuser=5&hl=it)
Figura 1. Come utilizzare CTS
Questo diagramma riassume il flusso di lavoro CTS. Fare riferimento alle sottopagine di questa sezione che iniziano con Impostazione per istruzioni dettagliate.
Tipi di casi di test
CTS include le seguenti tipologie di casi di test:
- I test unitari testano le unità atomiche di codice all'interno della piattaforma Android; ad esempio una singola classe, come java.util.HashMap.
I test funzionali testano insieme una combinazione di API in un caso d'uso di livello superiore.
Copertura del test unitario
I casi di unit test coprono le seguenti aree per garantire la compatibilità:
La zona | Descrizione |
---|---|
Prove di firma | Per ogni versione di Android sono presenti file XML che descrivono le firme di tutte le API pubbliche contenute nella versione. Il CTS contiene un'utilità per verificare tali firme API rispetto alle API disponibili sul dispositivo. I risultati del controllo della firma vengono registrati nel file XML dei risultati del test. |
Test API della piattaforma | Testare le API della piattaforma (librerie principali e Android Application Framework) come documentato nell'indice delle classi SDK per garantire la correttezza dell'API, comprese le firme corrette di classi, attributi e metodi, il comportamento corretto del metodo e test negativi per garantire il comportamento previsto per la gestione errata dei parametri. |
Test di Dalvik | I test si concentrano sul test del formato eseguibile Dalvik. |
Modello dati della piattaforma | Il CTS testa il modello dati della piattaforma principale esposto agli sviluppatori di applicazioni tramite i fornitori di contenuti, come documentato nel pacchetto Android.provider dell'SDK: contatti, browser, impostazioni, ecc. |
Intenti della piattaforma | Il CTS testa gli intenti della piattaforma principale, come documentato negli intenti disponibili dell'SDK. |
Autorizzazioni della piattaforma | Il CTS verifica le autorizzazioni della piattaforma principale, come documentato nelle autorizzazioni disponibili dell'SDK. |
Risorse della piattaforma | Il CTS verifica la corretta gestione dei tipi di risorse della piattaforma principale, come documentato in Tipi di risorse disponibili dell'SDK. Ciò include test per: valori semplici, drawable, nove patch, animazioni, layout, stili e temi e caricamento di risorse alternative. |