Suite de tests de compatibilité

La suite de tests de compatibilité (CTS) est une suite de tests gratuite de qualité commerciale, disponible en téléchargement sous forme de binaire ou de source dans le projet Android Open Source (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 périphériques 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 objectif 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 uniquement les échecs 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 Android .apk packagés à exécuter sur le périphérique 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 fixe sans entrée manuelle (par exemple, qualité audio, accéléromètre, etc.).

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 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

Flux CTS

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 Setup 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 ensemble dans un cas d'utilisation de niveau supérieur.

Les futures versions du CTS comprendront les types de cas de test suivants :
  • 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 d'images par seconde.

Domaines couverts

Les cas de test unitaires couvrent les domaines suivants pour assurer la compatibilité :

Surface La description
Tests de signature Pour chaque version 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 de la signature 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 documentées 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 de méthode correct et les tests négatifs pour garantir le comportement attendu pour une gestion incorrecte des paramètres.
Essais 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 SDKandroid.provider : contacts, navigateur, paramètres, etc.
Intentions de la plate-forme Le CTS teste les intentions de la plate-forme principale, comme indiqué dans le SDK Available Intents .
Autorisations de la plate-forme Le CTS teste les autorisations de la plate-forme principale, comme indiqué dans les autorisations disponibles du SDK .
Ressources de la plate-forme Le CTS teste la gestion correcte des types de ressources de la plate-forme principale, comme indiqué dans le SDKTypes de ressources disponibles . 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.