A partir de 27 de março de 2025, recomendamos usar android-latest-release em vez de aosp-main para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Conjunto de teste de fornecedor (VTS) e infraestrutura
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O Conjunto de teste de fornecedor do Android (VTS) oferece
testes extensivos sobre o seguinte:
Kernel
Camada de abstração de hardware (HAL)
O VTS é executado em uma
máquina de mesa e executa casos de teste diretamente em dispositivos conectados ou
nos emuladores. Assim como o CTS, o VTS é
um conjunto de testes automatizados que usa os seguintes componentes principais de software:
O conjunto de testes da Trade Federation
do VTS é executado na máquina host e gerencia a execução
do teste. Ele oferece a capacidade de
configurar o sharding
em vários dispositivos em teste (DUTs). Também é possível usar
o recurso Suite Retry
para tentar novamente apenas as falhas em vez de todo o conjunto de testes,
o que reduz bastante o tempo de execução.
Casos de teste individuais são executados no DUT. Os casos de teste
podem ser testes no estilo GTest, testes de kernel ou testes no estilo JUnit programados em
Java.
Tipos de testes
Os vários tipos de testes de VTS são descritos nas seções a seguir.
Testes no estilo GTest
A maioria dos testes no VTS são testes no estilo GTest que verificam a implementação
do HAL. O teste é
escrito em C++ e executado no dispositivo. Um GTest típico do VTS itera por
cada instância de uma determinada interface e executa todos os casos de teste
com ela. Consulte VtsHalHealthStorageV1_0TargetTest
para conferir um exemplo.
Testes do kernel do Linux
O kselftest (external/linux-kselftest)
é uma coleção de testes incluídos no repositório do kernel do Linux
em tools/testing/selftests, dos quais 23 são incluídos no VTS para execução em ARM.
Os testes do projeto de teste do Linux (external/ltp)
validam a confiabilidade, a robustez e a estabilidade do kernel do Linux.
Testes no estilo JUnit
Um pequeno conjunto de testes orientados a host no VTS são testes no estilo JUnit, por exemplo,
KernelApiSysfsTest.
Os testes Java são implementados como
BaseHostJUnit4Test,
que é associado a um dispositivo de teste e pode executar comandos
do shell para realizar a validação.
Testes autônomos do Python3
Alguns testes do VTS, como
vts_treble_sys_prop_test,
são escritos em Python3. Os
testes baseados em Python são implementados como unittest.TestCase, e cada caso
de teste pode interagir com o dispositivo por comandos do shell.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]