À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release au lieu de aosp-main pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Présentation de la suite de tests de compatibilité (CTS)
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
La suite de tests de compatibilité (CTS) est une suite de tests et des outils de qualité commerciale sans frais qui permettent de vérifier que vos appareils sont compatibles avec Android. Le CTS est conçu pour être intégré à votre workflow quotidien, par exemple via un système de compilation continue. CTS s'exécute sur un ordinateur de bureau et exécute des tests directement sur les appareils connectés ou sur un émulateur. Pour en savoir plus sur la compatibilité Android, consultez la section Présentation du programme de compatibilité Android.
Figure 1 : Tests automatisés CTS
La figure 1 illustre le processus d'exécution des tests automatisés CTS:
Téléchargez et installez CTS. Cette étape implique également de configurer l'environnement de test, la station de travail de test et l'appareil testé (DUT).
Exécutez les tests automatisés CTS.
Stockez et examinez les résultats.
Résolvez les problèmes et réexécutez les tests.
Utilisez CTS pour détecter les incompatibilités à un stade précoce et vous assurer que vos implémentations Android restent compatibles tout au long du processus de développement.
Composants CTS
Le CTS contient les principaux composants suivants:
Fédération du commerce
Un banc d'essais et un framework permettent d'exécuter des tests de manière automatisée.
Tests automatisés CTS
Tests qui utilisent le framework Trade Federation et qui peuvent être exécutés à l'aide du banc d'essais Trade Federation.
Tests du vérificateur CTS (CTS-V)
Tests qui doivent être exécutés manuellement.
Application CTS Verifier (CTS-V)
Application utilisée pour effectuer des tests CTS-V et collecter les résultats des tests CTS-V.
Scénario de test
Test individuel exécuté sur le DUT. Les cas de test automatisés sont écrits en Java en tant que tests JUnit et empaquetés dans des fichiers APK Android à exécuter sur l'appareil cible.
Les scénarios de test peuvent être des tests unitaires ou des tests fonctionnels. Un test unitaire teste des unités atomiques de code sur la plate-forme Android. Par exemple, un test unitaire peut tester une seule classe Android.
Un test fonctionnel exécute une combinaison de méthodes et de classes utilisées pour un cas d'utilisation spécifique.
Configuration de test
Ensemble spécifique de tests automatisés exécutés sur l'appareil sous test. Les configurations de test sont des fichiers XML situés dans WORKING_DIRECTORY/cts/tools/cts-tradefed/res/config.
Il existe des configurations de test qui contiennent tous les scénarios de test automatisés et des configurations de test qui contiennent un sous-ensemble de scénarios de test.
Module de test
Configuration de test composée d'un ensemble de scénarios de test pour la même zone de fonctionnalités.
Plan de test
Configuration de test composée d'une collection de modules de test.
Couverture des tests
Les cas de test couvrent les domaines suivants pour assurer la compatibilité:
Région
Description
Tests de signature
Pour chaque version Android, des fichiers XML décrivent les signatures de toutes les API publiques contenues dans la version. Le CTS contient un utilitaire permettant de comparer ces signatures d'API 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 des tests.
Tests de l'API de la plate-forme
Testez les API de la plate-forme (bibliothèques principales et Android Application Framework) comme indiqué dans l'index des classes du SDK pour vous assurer de la validité de l'API, y compris des signatures de classe, d'attribut et de méthode correctes, du comportement correct de la méthode et des tests négatifs pour vous assurer du comportement attendu en cas de mauvaise gestion des paramètres.
Tests Dalvik
Les tests se concentrent sur le format d'exécutable Dalvik.
Modèle de données de la plate-forme
Le CTS teste le modèle de données de la plate-forme de base tel qu'il est exposé aux développeurs d'applications via des fournisseurs de contenu, comme indiqué dans le package android.provider du SDK (y compris les contacts, les navigateurs et les paramètres).
Intents de plate-forme
Le CTS teste les intents de plate-forme principaux, comme indiqué dans la section
Intents courants du SDK.
Autorisations de la plate-forme
Le CTS teste les autorisations de base de la plate-forme, comme indiqué dans le SDK Manifest.permission.
Ressources de la plate-forme
Le CTS vérifie la gestion correcte des principaux types de ressources de la plate-forme, comme indiqué dans la section
Présentation des types de ressources du SDK. Les tests CTS incluent des tests pour les valeurs simples, les drawables, les nine-patch, les animations, les mises en page, les styles et les thèmes, et le chargement de ressources de remplacement.
Étapes suivantes
Après avoir lu ce document, passez à la section Configurer CTS.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# The Compatibility Test Suite (CTS) overview\n\n*Compatibility Test Suite (CTS)* is a free, commercial-grade test suite and\ntools used to help ensure that your devices are Android compatible. CTS is\nintended to be integrated into your daily workflow, such as through a\ncontinuous build system. CTS runs on a desktop machine and executes tests\ndirectly on attached devices or on an emulator. For an overview of Android compatibility, see [Android compatibility program overview](/docs/compatibility).\n\n**Figure 1.** CTS automated testing.\n\nFigure 1 shows the process of executing CTS automated tests:\n\n1. Download and install CTS. This step also involves setting up the test environment, the testing workstation, and the device you are testing or *device under test (DUT)*\n2. Run CTS automated tests.\n3. Store and review the results.\n4. Troubleshoot issues and rerun tests.\n\nUse CTS to reveal incompatibilities early, and to ensure that your Android\nimplementations remain compatible throughout the development process.\n\nCTS components\n--------------\n\nCTS contains the following major components:\n\n*Trade Federation*\n: A test harness and framework allow for the automated execution of tests.\n\n*CTS automated tests*\n: Tests that use the Trade Federation framework and can be run using the Trade\n Federation test harness.\n\n*CTS Verifier (CTS-V) tests*\n: Tests that must be run manually.\n\n*CTS Verifier (CTS-V) app*\n: An app used to conduct CTS-V tests and collect CTS-V test results.\n\n*Test case*\n\n: An individual test executed on the DUT. Automated test cases are\n written in Java as JUnit tests and packaged Android APK files to run on the\n device target.\n\n Test cases can be *unit tests* or *functional tests*. A unit test tests atomic\n units of code within the Android platform. For example, a unit test might test\n a single Android class.\n\n A functional test exercises a combination of methods and classes used for a\n specific use case.\n\n*Test configuration*\n\n: A specific set of automated tests that are run on the\n DUT. Test configurations are XML files located in\n \u003cvar translate=\"no\"\u003eWORKING_DIRECTORY\u003c/var\u003e`/cts/tools/cts-tradefed/res/config`.\n There are test configurations that contains all automated test cases and test\n configurations that contain a subset of test cases.\n\n*Test module*\n\n: A test configuration consisting of a collection of test cases for the same\n feature area.\n\n*Test plan*\n\n: A test configuration consisting of a collection of test modules.\n\n| **Note:** The Android Open Source Project accepts contributions to improve CTS just as for any other component. Improving the coverage and quality of CTS tests is one of the best ways to contribute to Android. To make contributions to CTS, follow the same process in [Submit code changes](/docs/setup/contribute/submit-patches).\n\nTest coverage\n-------------\n\nTest cases cover the following areas to ensure compatibility:\n\n| Area | Description |\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Signature tests | For each Android release, there are XML files describing the signatures of all public APIs contained in the release. The CTS contains a utility to check those API signatures against the APIs available on the device. The results from signature checking are recorded in the test result XML file. |\n| Platform API tests | Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK [Class Index](https://developer.android.com/reference/classes) to ensure API correctness, including correct class, attribute and method signatures, correct method behavior, and negative tests to ensure expected behavior for incorrect parameter handling. |\n| Dalvik tests | The tests focus on testing the Dalvik executable format. |\n| Platform data model | The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK [`android.provider`](https://developer.android.com/reference/android/provider/package-summary) package (including contacts, browsers, and settings) |\n| Platform intents | The CTS tests the core platform intents, as documented in the SDK [Common intents](https://developer.android.com/guide/appendix/g-app-intents). |\n| Platform permissions | The CTS tests the core platform permissions, as documented in the SDK [`Manifest.permission`](https://developer.android.com/reference/android/Manifest.permission). |\n| Platform resources | The CTS tests for correct handling of the core platform resource types, as documented in the SDK [Resource types overview](https://developer.android.com/guide/topics/resources/available-resources). The CTS tests include tests for simple values, drawables, nine-patch, animations, layouts, styles and themes, and loading alternate resources. |\n\nWhat's next\n-----------\n\nAfter reading this document, continue to [Set up CTS](/docs/compatibility/cts/setup)."]]