À 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.
Suite de test du fournisseur (VTS) et infrastructure
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
La suite de tests du fournisseur Android (VTS) fournit des tests approfondis sur les éléments suivants:
Noyau
Couche d'abstraction matérielle (HAL)
VTS s'exécute sur un ordinateur de bureau et exécute des scénarios de test directement sur les appareils connectés ou sur les émulateurs. Comme la suite de tests de compatibilité, la VTS est une suite de tests automatisés qui utilise les principaux composants logiciels suivants:
Le banc d'essais Trade Federation VTS s'exécute sur votre machine hôte et gère l'exécution des tests. Il permet de configurer le fractionnement sur plusieurs appareils en cours de test (DUT). Vous pouvez également utiliser la fonctionnalité Suite Retry (Réessayer la suite) pour ne réessayer que les échecs plutôt que l'ensemble des suites de tests, ce qui réduit considérablement le temps de réexécution.
Des scénarios de test individuels sont exécutés sur le DUT. Les cas de test peuvent être des tests de style GTest, des tests de kernel ou des tests de style JUnit écrits en Java.
Types de tests
Les différents types de tests VTS sont décrits dans les sections suivantes.
Tests de style GTest
La plupart des tests de VTS sont des tests de style GTest qui vérifient l'implémentation du HAL. Le test est écrit en C++ et s'exécute sur l'appareil. Un GTest VTS typique itère sur chaque instance d'une interface donnée et exécute tous les scénarios de test à son encontre. Pour consulter un exemple, consultez VtsHalHealthStorageV1_0TargetTest.
Tests du noyau Linux
Kselftest (external/linux-kselftest) est un ensemble de tests inclus dans le dépôt du kernel Linux à tools/testing/selftests, dont 23 sont inclus dans VTS pour s'exécuter sur ARM.
Les tests du projet de test Linux (external/ltp) valident la fiabilité, la robustesse et la stabilité du noyau Linux.
Tests de style JUnit
Un petit ensemble de tests hôtes dans VTS sont des tests de style JUnit, par exemple KernelApiSysfsTest.
Les tests Java sont implémentés en tant que BaseHostJUnit4Test, qui est associé à un appareil de test et peut exécuter des commandes shell pour effectuer la validation.
Tests Python 3 autonomes
Certains tests VTS, tels que vts_treble_sys_prop_test, sont écrits en Python 3. Les tests basés sur Python sont implémentés en tant que unittest.TestCase, et chaque scénario de test peut interagir avec l'appareil via des commandes shell.
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,["# Vendor Test Suite (VTS) and infrastructure\n\nThe Android Vendor Test Suite (VTS) provides\nextensive testing on the following:\n\n- Kernel\n- Hardware abstraction layer (HAL)\n\nVTS runs on a\ndesktop machine and executes test cases directly on attached devices or\non the emulators. Similar to [CTS](/docs/compatibility/cts), VTS is\nan automated test suite that uses the following major software components:\n\n- The VTS [Trade Federation](/docs/core/tests/tradefed) test harness runs on your host machine and manages test execution. It offers the ability to [Configure sharding](/docs/core/tests/tradefed/testing/through-suite/android-test-tuning) across multiple devices under test (DUTs). You can also use the [Suite Retry](/devices/tech/test_infra/tradefed/testing/through-suite/suite-retry) feature to retry only the failures rather than the entire test suites, which greatly reduces the re-run time.\n- Individual test cases are executed on the DUT. The test cases can be GTest-style tests, kernel tests, or JUnit-style tests written in Java.\n\nTypes of tests\n--------------\n\nThe various types of VTS tests are described in the following sections.\n\n### GTest-style tests\n\nMost tests in VTS are GTest-style tests that check the HAL\nimplementation. The test is\nwritten in C++ and runs on the device. A typical VTS GTest iterates through\neach instance of a given interface, and runs all the test cases\nagainst it. Refer to [`VtsHalHealthStorageV1_0TargetTest`](https://cs.android.com/android/platform/superproject/+/android-latest-release:hardware/interfaces/health/storage/1.0/vts/functional/)\nfor an example.\n\n### Linux kernel tests\n\n- Kselftest ([external/linux-kselftest](https://github.com/torvalds/linux/tree/master/tools/testing/selftests/kselftest))\n is a collection of tests included within the Linux kernel repository\n at `tools/testing/selftests`, of which 23 are included in VTS to run on ARM.\n\n- Linux Test Project ([external/ltp](https://cs.android.com/android/platform/superproject/+/android-latest-release:external/ltp/))\n tests validate the reliability, robustness, and stability of the Linux kernel.\n\n### JUnit-style tests\n\nA small set of host-driven tests in VTS are JUnit-style tests, for example,\n[`KernelApiSysfsTest`](https://cs.android.com/android/platform/superproject/+/android-latest-release:test/vts-testcase/kernel/api/sysfs/src/com/android/tests/sysfs/KernelApiSysfsTest.java).\nThe Java tests are implemented as\n[`BaseHostJUnit4Test`](https://cs.android.com/android/platform/superproject/+/android-latest-release:tools/tradefederation/core/test_framework/com/android/tradefed/testtype/junit4/BaseHostJUnit4Test.java),\nwhich is associated with a test device and can run shell\ncommands to perform validation.\n\n### Standalone Python3 tests\n\nSome VTS tests, such as\n[`vts_treble_sys_prop_test`](https://cs.android.com/android/platform/superproject/+/android-latest-release:test/vts-testcase/security/system_property/vts_treble_sys_prop_test.py)\nare written in Python3. The\nPython-based tests are implemented as `unittest.TestCase` and each test\ncase can interact with the device through shell commands.\n| **Caution:** The Python tests aren't recommended due to limited support in the Android tree. We highly recommend writing the VTS tests as GTest, or at least as JUnit-style tests."]]