Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release thay vì aosp-main để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Bộ kiểm thử nhà cung cấp Android (VTS) cung cấp kiểm thử chuyên sâu về những nội dung sau:
Kernel
Lớp trừu tượng phần cứng (HAL)
VTS chạy trên máy tính để bàn và thực thi các trường hợp kiểm thử trực tiếp trên các thiết bị đính kèm hoặc trên trình mô phỏng. Tương tự như CTS, VTS là một bộ kiểm thử tự động sử dụng các thành phần phần mềm chính sau:
Bộ kiểm thử Trade Federation (Liên minh thương mại) của VTS chạy trên máy chủ của bạn và quản lý quá trình thực thi kiểm thử. Công cụ này có khả năng Định cấu hình phân đoạn trên nhiều thiết bị đang được kiểm thử (DUT). Bạn cũng có thể sử dụng tính năng Thử lại bộ kiểm thử để chỉ thử lại các lần kiểm thử không thành công thay vì toàn bộ bộ kiểm thử, nhờ đó giảm đáng kể thời gian chạy lại.
Các trường hợp kiểm thử riêng lẻ được thực thi trên DUT. Các trường hợp kiểm thử có thể là kiểm thử kiểu GTest, kiểm thử hạt nhân hoặc kiểm thử kiểu JUnit được viết bằng Java.
Các loại kiểm thử
Các loại kiểm thử VTS được mô tả trong các phần sau.
Kiểm thử kiểu GTest
Hầu hết các chương trình kiểm thử trong VTS đều là các chương trình kiểm thử kiểu GTest để kiểm tra việc triển khai HAL. Chương trình kiểm thử được viết bằng C++ và chạy trên thiết bị. Một GTest VTS thông thường lặp lại qua từng thực thể của một giao diện nhất định và chạy tất cả các trường hợp kiểm thử dựa trên giao diện đó. Hãy tham khảo VtsHalHealthStorageV1_0TargetTest để biết ví dụ.
Kiểm thử nhân Linux
Kselftest (external/linux-kselftest) là một tập hợp các chương trình kiểm thử có trong kho lưu trữ nhân Linux tại tools/testing/selftests, trong đó có 23 chương trình kiểm thử có trong VTS để chạy trên ARM.
Dự án kiểm thử Linux (external/ltp) kiểm thử xác thực độ tin cậy, độ mạnh và độ ổn định của nhân Linux.
Kiểm thử kiểu JUnit
Một nhóm nhỏ các bài kiểm thử do máy chủ điều khiển trong VTS là các bài kiểm thử kiểu JUnit, ví dụ: KernelApiSysfsTest.
Các chương trình kiểm thử Java được triển khai dưới dạng BaseHostJUnit4Test. Lớp này được liên kết với một thiết bị kiểm thử và có thể chạy các lệnh shell để xác thực.
Kiểm thử Python3 độc lập
Một số chương trình kiểm thử VTS, chẳng hạn như
vts_treble_sys_prop_test
được viết bằng Python3. Các bài kiểm thử dựa trên Python được triển khai dưới dạng unittest.TestCase và mỗi trường hợp kiểm thử có thể tương tác với thiết bị thông qua các lệnh shell.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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."]]