A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release en lugar de aosp-main para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Paquete de pruebas de proveedores (VTS) e infraestructura
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El Conjunto de pruebas de proveedores (VTS) de Android proporciona pruebas exhaustivas en lo siguiente:
Kernel
Capa de abstracción de hardware (HAL)
VTS se ejecuta en una máquina de escritorio y ejecuta casos de prueba directamente en dispositivos conectados o en los emuladores. Al igual que CTS, VTS es un conjunto de pruebas automatizadas que usa los siguientes componentes principales de software:
El agente de prueba Trade Federation de VTS se ejecuta en tu máquina anfitrión y administra la ejecución de pruebas. Ofrece la capacidad de configurar el fragmentación en varios dispositivos en prueba (DUT). También puedes usar la función Suite Retry para volver a intentar solo las fallas en lugar de todo el paquete de pruebas, lo que reduce en gran medida el tiempo de reintento.
Los casos de prueba individuales se ejecutan en el DUT. Los casos de prueba pueden ser pruebas de estilo GTest, pruebas de kernel o pruebas de estilo JUnit escritas en Java.
Tipos de pruebas
En las siguientes secciones, se describen los diferentes tipos de pruebas de VTS.
Pruebas al estilo de GTest
La mayoría de las pruebas de VTS son pruebas al estilo de GTest que verifican la implementación de HAL. La prueba se escribe en C++ y se ejecuta en el dispositivo. Un GTest de VTS típico itera a través de cada instancia de una interfaz determinada y ejecuta todos los casos de prueba en ella. Consulta VtsHalHealthStorageV1_0TargetTest para ver un ejemplo.
Pruebas del kernel de Linux
Kselftest (external/linux-kselftest) es una colección de pruebas incluidas en el repositorio del kernel de Linux en tools/testing/selftests, de las cuales 23 se incluyen en VTS para ejecutarse en ARM.
Las pruebas del proyecto de prueba de Linux (external/ltp) validan la confiabilidad, la solidez y la estabilidad del kernel de Linux.
Pruebas al estilo de JUnit
Un pequeño conjunto de pruebas dirigidas por el host en VTS son pruebas de estilo JUnit, por ejemplo, KernelApiSysfsTest.
Las pruebas de Java se implementan como BaseHostJUnit4Test, que se asocia con un dispositivo de prueba y puede ejecutar comandos de shell para realizar la validación.
Pruebas independientes de Python3
Algunas pruebas de VTS, como vts_treble_sys_prop_test, están escritas en Python3. Las pruebas basadas en Python se implementan como unittest.TestCase, y cada caso de prueba puede interactuar con el dispositivo a través de comandos de shell.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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."]]