La suite de tests de compatibilité (CTS) est une suite de tests gratuite de qualité commerciale, disponible en téléchargement sous forme binaire ou sous forme de source dans le projet Android Open Source (AOSP) . Le CTS représente le « mécanisme » de compatibilité.
Le CTS s'exécute sur un ordinateur de bureau et exécute les cas de test directement sur les appareils connectés ou sur un émulateur. Le CTS est un ensemble de tests unitaires conçus pour être intégrés dans le flux de travail quotidien (par exemple via un système de construction continue) des ingénieurs qui construisent un appareil. Son objectif est de révéler les incompatibilités dès le début et de garantir que le logiciel reste compatible tout au long du processus de développement.
Le CTS est une suite de tests automatisés qui utilise deux composants logiciels majeurs :
- Le harnais de test CTS Trade Federation s'exécute sur votre ordinateur de bureau et gère l'exécution des tests. Il offre la possibilité de partager des tests sur plusieurs appareils sous test (DUT). Vous pouvez également utiliser la fonction de nouvelle tentative de suite pour réessayer uniquement les échecs plutôt que les suites complètes, réduisant ainsi considérablement le temps de réexécution.
- Des cas de test individuels sont exécutés sur le DUT. Les cas de test sont écrits en Java sous forme de tests JUnit et de fichiers Android .apk packagés à exécuter sur l'appareil cible réel.
Le Compatibility Test Suite Verifier (CTS Verifier) est un complément au CTS disponible en téléchargement . CTS Verifier fournit des tests pour les API et les fonctions qui ne peuvent pas être testées sur un appareil stationnaire sans saisie manuelle (par exemple, qualité audio et accéléromètre) ou positionnement manuel.
Le CTS Verifier est un outil de test manuel et comprend les composants logiciels suivants :
L'application de vérification CTS qui est exécutée sur le DUT (et sur un deuxième appareil pour les exigences de mesure de distance) et collecte les résultats.
Le(s) exécutable(s) ou script(s) qui sont exécutés sur l'ordinateur de bureau pour fournir des données ou un contrôle supplémentaire pour certains scénarios de test dans l'application CTS Verifier.
Flux de travail

Figure 1. Comment utiliser CTS
Ce diagramme résume le flux de travail CTS. Veuillez vous référer aux sous-pages de cette section commençant par Configuration pour des instructions détaillées.
Types de cas de test
Le CTS comprend les types de cas de test suivants :
- Les tests unitaires testent les unités atomiques de code au sein de la plate-forme Android ; par exemple une seule classe, telle que java.util.HashMap.
Les tests fonctionnels testent une combinaison d'API dans un cas d'utilisation de niveau supérieur.
- Les tests de robustesse testent la durabilité du système sous contrainte.
- Les tests de performances testent les performances du système par rapport à des références définies, par exemple le rendu des images par seconde.
Domaines couverts
Les cas de tests unitaires couvrent les domaines suivants pour garantir la compatibilité :
Zone | Description |
---|---|
Tests de signatures | Pour chaque version d'Android, il existe des fichiers XML décrivant les signatures de toutes les API publiques contenues dans la version. Le CTS contient un utilitaire permettant de vérifier ces signatures API par rapport aux API disponibles sur l'appareil. Les résultats de la vérification des signatures sont enregistrés dans le fichier XML des résultats du test. |
Tests de l'API de la plateforme | Testez les API de la plate-forme (bibliothèques principales et Android Application Framework) comme indiqué dans l' index de classe du SDK pour garantir l'exactitude de l'API, y compris les signatures de classe, d'attribut et de méthode correctes, le comportement correct de la méthode et les tests négatifs pour garantir le comportement attendu en cas de gestion incorrecte des paramètres. |
Tests Dalvik | Les tests se concentrent sur le test du format exécutable Dalvik. |
Modèle de données de plateforme | Le CTS teste le modèle de données de base de la plateforme tel qu'il est exposé aux développeurs d'applications via les fournisseurs de contenu, comme documenté dans le package SDK android.provider : contacts, navigateur, paramètres, etc. |
Intentions de la plate-forme | Le CTS teste les intentions principales de la plate-forme, comme indiqué dans les intentions disponibles du SDK . |
Autorisations de la plateforme | Le CTS teste les autorisations de la plate-forme principale, comme indiqué dans les autorisations disponibles du SDK . |
Ressources de la plateforme | Le CTS teste la gestion correcte des types de ressources de base de la plateforme, comme indiqué dans le SDK Available Resource Types . Cela inclut des tests pour : les valeurs simples, les dessins, les neuf correctifs, les animations, les mises en page, les styles et les thèmes, ainsi que le chargement de ressources alternatives. |