Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release вместо aosp-main для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Android Vendor Test Suite (VTS) обеспечивает обширное тестирование по следующим направлениям:
Ядро
Уровень аппаратной абстракции (HAL)
VTS работает на настольном компьютере и выполняет тестовые случаи непосредственно на подключенных устройствах или на эмуляторах. Подобно CTS , VTS представляет собой автоматизированный тестовый набор, который использует следующие основные программные компоненты:
Тестовая система VTS Trade Federation запускается на вашем хост-компьютере и управляет выполнением теста. Она предлагает возможность настройки сегментации на нескольких тестируемых устройствах (DUT). Вы также можете использовать функцию Suite Retry для повторного запуска только сбоев, а не всех тестовых наборов, что значительно сокращает время повторного запуска.
Отдельные тестовые случаи выполняются на DUT. Тестовые случаи могут быть тестами в стиле GTest, тестами ядра или тестами в стиле JUnit, написанными на Java.
Виды тестов
Различные типы тестов VTS описаны в следующих разделах.
Тесты в стиле GTest
Большинство тестов в VTS — это тесты в стиле GTest, которые проверяют реализацию HAL. Тест написан на C++ и выполняется на устройстве. Типичный VTS GTest проходит по каждому экземпляру заданного интерфейса и выполняет все тестовые случаи на нем. См. пример VtsHalHealthStorageV1_0TargetTest .
Тесты ядра Linux
Kselftest ( external/linux-kselftest ) — это набор тестов, включенных в репозиторий ядра Linux по адресу tools/testing/selftests , из которых 23 включены в VTS для запуска на ARM.
Тесты Linux Test Project ( внешние/ltp ) проверяют надежность, устойчивость и стабильность ядра Linux.
Тесты в стиле JUnit
Небольшой набор тестов, управляемых хостом в VTS, — это тесты в стиле JUnit, например, KernelApiSysfsTest . Тесты Java реализованы как BaseHostJUnit4Test , который связан с тестовым устройством и может запускать команды оболочки для выполнения проверки.
Автономные тесты Python3
Некоторые тесты VTS, такие как vts_treble_sys_prop_test , написаны на Python3. Тесты на основе Python реализованы как unittest.TestCase , и каждый тестовый случай может взаимодействовать с устройством через команды оболочки.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 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."]]