La suite de tests de compatibilité (CTS) est une suite de tests gratuite de qualité commerciale, disponible en téléchargement en tant que binaire ou en tant que source dans le projet Open Source Android (AOSP) . Le CTS représente le "mécanisme" de compatibilité.
Le CTS s'exécute sur une machine de bureau et exécute des cas de test directement sur les appareils connectés ou 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 intention est de révéler les incompatibilités dès le début et de s'assurer 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 partitionner des tests sur plusieurs appareils sous test (DUT). Vous pouvez également utiliser la fonction de nouvelle tentative de suite pour réessayer les échecs uniquement plutôt que les suites complètes, ce qui réduit considérablement le temps de réexécution.
- Les 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 .apk Android emballés pour s'exécuter sur la cible réelle de l'appareil.
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 fixe sans saisie manuelle (par exemple, qualité audio, accéléromètre, etc.).
Le vérificateur CTS 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 collecte les résultats.
Le ou les exécutables ou scripts qui sont exécutés sur la machine de bureau pour fournir des données ou un contrôle supplémentaire pour certains cas de test dans l'application CTS Verifier.
Flux de travail

Figure 1. Comment utiliser le 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 des 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 ensemble 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 critères de référence définis, par exemple le rendu des images par seconde.
Domaines couverts
Les cas de test unitaire couvrent les domaines suivants pour assurer la compatibilité :
Zone | La description |
---|---|
Essais 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 pour vérifier ces signatures d'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 d'API de plate-forme | Testez les API de la plate-forme (bibliothèques principales et Android Application Framework) comme indiqué dans l' index de classe 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. |
Essais de Dalvik | Les tests se concentrent sur le test du format exécutable Dalvik. |
Modèle de données de plate-forme | Le CTS teste le modèle de données de la plate-forme principale 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 plate-forme | Le CTS teste les intentions de la plate-forme principale, comme documenté dans les intentions disponibles du SDK . |
Autorisations de 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 la plate-forme principale, comme documenté dans le SDK Available Resource Types . Cela inclut des tests pour : les valeurs simples, les drawables, les neuf patchs, les animations, les mises en page, les styles et les thèmes, et le chargement de ressources alternatives. |