Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Die Android Vendor Test Suite (VTS) bietet umfangreiche Tests für Folgendes:
Kernel
Hardwareabstraktionsschicht (HAL)
VTS wird auf einem Desktop-Computer ausgeführt und führt Testfälle direkt auf angeschlossenen Geräten oder auf den Emulatoren aus. Ähnlich wie die CTS ist die VTS eine automatisierte Testsuite, die die folgenden wichtigen Softwarekomponenten verwendet:
Der VTS-Test-Harness Trade Federation wird auf Ihrem Hostcomputer ausgeführt und verwaltet die Testausführung. Sie können das Sharding für mehrere Testgeräte konfigurieren. Mit der Funktion Suite Retry können Sie auch nur die fehlgeschlagenen Tests und nicht die gesamten Test-Suites noch einmal ausführen. Dadurch wird die Wiedergabezeit erheblich verkürzt.
Einzelne Testfälle werden auf dem DUT ausgeführt. Die Testfälle können GTest-Tests, Kernel-Tests oder JUnit-Tests in Java sein.
Testtypen
Die verschiedenen Arten von VTS-Tests werden in den folgenden Abschnitten beschrieben.
GTest-Tests
Die meisten Tests in VTS sind GTest-Tests, mit denen die HAL-Implementierung geprüft wird. Der Test ist in C++ geschrieben und wird auf dem Gerät ausgeführt. Ein typischer VTS-GTest durchläuft jede Instanz einer bestimmten Schnittstelle und führt alle Testfälle darauf aus. Ein Beispiel finden Sie unter VtsHalHealthStorageV1_0TargetTest.
Linux-Kernel-Tests
Kselftest (external/linux-kselftest) ist eine Sammlung von Tests, die im Linux-Kernel-Repository unter tools/testing/selftests enthalten sind. Davon sind 23 im VTS enthalten, um auf ARM-Prozessoren ausgeführt zu werden.
Mit dem Linux Test Project (external/ltp) werden die Zuverlässigkeit, Robustheit und Stabilität des Linux-Kernels überprüft.
JUnit-Tests
Einige hostbasierte Tests in VTS sind JUnit-Tests, z. B. KernelApiSysfsTest.
Die Java-Tests werden als BaseHostJUnit4Test implementiert, was einem Testgerät zugeordnet ist und Shell-Befehle zur Validierung ausführen kann.
Eigenständige Python 3-Tests
Einige VTS-Tests, z. B. vts_treble_sys_prop_test, sind in Python 3 geschrieben. Die Python-basierten Tests werden als unittest.TestCase implementiert und jeder Testfall kann über Shell-Befehle mit dem Gerät interagieren.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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."]]