La Compatibility Test Suite (CTS) è una suite di test gratuita di livello commerciale, disponibile per il download come file binario o come sorgente nell'Android Open Source Project (AOSP) . Il CTS rappresenta il "meccanismo" di compatibilità.
Il CTS viene eseguito su una macchina desktop ed esegue casi di test direttamente sui dispositivi collegati o su un emulatore. Il CTS è un insieme di unit test progettati per essere integrati nel flusso di lavoro quotidiano (ad esempio tramite un sistema di build continuo) degli ingegneri che costruiscono un dispositivo. Il suo intento è quello di rivelare le incompatibilità all'inizio e garantire che il software rimanga compatibile durante tutto il processo di sviluppo.
Il CTS è una suite di test automatizzata che utilizza due componenti software principali:
- Il cablaggio di test della CTS Trade Federation viene eseguito sul computer desktop e gestisce l'esecuzione dei test. Offre la possibilità di eseguire lo shard test su più dispositivi in prova (DUT). È inoltre possibile utilizzare la funzionalità di ripetizione dei tentativi della suite per riprovare solo gli errori anziché le suite complete, riducendo notevolmente il tempo di esecuzione.
- I singoli casi di test vengono eseguiti sul DUT. I test case sono scritti in Java come test JUnit e file .apk Android impacchettati per l'esecuzione sul dispositivo di destinazione effettivo.
Compatibility Test Suite Verifier (CTS Verifier) è un supplemento al CTS disponibile per il download . CTS Verifier fornisce test per API e funzioni che non possono essere testate su un dispositivo fisso senza input manuale (ad es. qualità audio, accelerometro, ecc.).
Il CTS Verifier è uno strumento per il test manuale e include i seguenti componenti software:
L'app di verifica CTS che viene eseguita sul DUT e raccoglie i risultati.
Gli eseguibili o gli script che vengono eseguiti sul computer desktop per fornire dati o controllo aggiuntivo per alcuni casi di test nell'app CTS Verifier.
Flusso di lavoro

Figura 1. Come utilizzare CTS
Questo diagramma riassume il flusso di lavoro CTS. Fare riferimento alle sottopagine di questa sezione che iniziano con l' installazione per istruzioni dettagliate.
Tipi di casi di test
Il CTS include i seguenti tipi 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 una combinazione di API insieme in un caso d'uso di livello superiore.
- I test di robustezza testano la durata del sistema sotto sforzo.
- I test delle prestazioni testano le prestazioni del sistema rispetto a benchmark definiti, ad esempio il rendering dei frame al secondo.
Aree coperte
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 disponibili file XML che descrivono le firme di tutte le API pubbliche contenute nella versione. Il CTS contiene un'utilità per controllare le 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 di classe SDK per garantire la correttezza dell'API, inclusa la classe corretta, le firme di attributi e metodi, il comportamento del metodo corretto e i 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 di dati della piattaforma | Il CTS testa il modello di dati della piattaforma principale come esposto agli sviluppatori di applicazioni tramite i fornitori di contenuti, come documentato nel pacchetto Android.provider dell'SDK: contatti, browser, impostazioni, ecc. |
Intenzioni della piattaforma | Il CTS verifica gli intenti della piattaforma principale, come documentato nell'SDK Available Intents . |
Autorizzazioni della piattaforma | Il CTS verifica le autorizzazioni della piattaforma principale, come documentato in SDK Available Permissions . |
Risorse della piattaforma | Il CTS verifica la corretta gestione dei tipi di risorse della piattaforma principale, come documentato nell'SDK Available Resource Types . Ciò include test per: valori semplici, drawable, nove patch, animazioni, layout, stili e temi e caricamento di risorse alternative. |