Compatibility Test Suite (CTS) est une suite de tests gratuite de qualité commerciale utilisée par les fabricants d'appareils pour garantir la compatibilité de leurs appareils et pour rapporter les résultats des tests à des fins de validation. CTS est destiné à être intégré au flux de travail quotidien (par exemple via un système de construction continue) des ingénieurs qui construisent un appareil. L'intention de CTS 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.
CTS est disponible en téléchargement sous forme binaire ou sous forme de source dans le projet Android Open Source (AOSP) . 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.
CTS contient deux composants logiciels majeurs :
- Le harnais de test de la Trade Federation s'exécute sur votre ordinateur de bureau et gère l'exécution des tests. Trade Federation offre la possibilité de répartir les 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.
- 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 Android .apk packagés à exécuter sur l'appareil cible réel.
Vérificateur de suite de tests de compatibilité (CTS Verifier)
Le Compatibility Test Suite Verifier (CTS Verifier) est un supplément à CTS disponible en téléchargement . Le 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 CTS Verifier 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
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
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.
Couverture des tests unitaires
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'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. |