از 27 مارس 2025، توصیه می کنیم از android-latest-release به جای aosp-main برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
مجموعه تست فروشنده Android (VTS) آزمایشات گسترده ای را در مورد موارد زیر ارائه می دهد:
هسته
لایه انتزاعی سخت افزاری (HAL)
VTS روی یک ماشین دسکتاپ اجرا می شود و موارد تست را مستقیماً روی دستگاه های متصل یا شبیه سازها اجرا می کند. مشابه CTS ، VTS یک مجموعه تست خودکار است که از اجزای اصلی نرم افزار زیر استفاده می کند:
مهار تست فدراسیون تجارت VTS روی دستگاه میزبان شما اجرا می شود و اجرای آزمایش را مدیریت می کند. این قابلیت پیکربندی اشتراک گذاری در چندین دستگاه تحت آزمایش (DUT) را ارائه می دهد. همچنین میتوانید از ویژگی Suite Retry برای امتحان مجدد فقط خطاها و نه کل مجموعههای آزمایشی استفاده کنید، که زمان اجرای مجدد را بسیار کاهش میدهد.
موارد تست فردی در DUT اجرا می شوند. موارد تست میتوانند تستهای به سبک GTest، تستهای هسته یا تستهای سبک JUnit باشند که در جاوا نوشته شدهاند.
انواع تست
انواع مختلف تست های VTS در بخش های زیر توضیح داده شده است.
تست های سبک GTest
اکثر تستها در VTS تستهایی به سبک GTest هستند که اجرای HAL را بررسی میکنند. تست به زبان C++ نوشته شده و روی دستگاه اجرا می شود. یک VTS GTest معمولی از طریق هر نمونه از یک رابط معین تکرار می شود و تمام موارد تست را بر روی آن اجرا می کند. برای مثال به VtsHalHealthStorageV1_0TargetTest مراجعه کنید.
تست هسته لینوکس
Kselftest ( اکسترنال/linux-kselftest ) مجموعهای از تستهای موجود در مخزن هسته لینوکس در tools/testing/selftests است که 23 مورد از آنها در VTS برای اجرا در ARM گنجانده شده است.
تست های پروژه تست لینوکس ( اکسترنال/ltp ) قابلیت اطمینان، استحکام و پایداری هسته لینوکس را تایید می کند.
آزمون های سبک JUnit
مجموعه کوچکی از تستهای میزبان محور در VTS تستهای سبک JUnit هستند، به عنوان مثال، KernelApiSysfsTest . تستهای جاوا بهعنوان BaseHostJUnit4Test پیادهسازی میشوند که با یک دستگاه تست مرتبط است و میتواند دستورات پوسته را برای انجام اعتبارسنجی اجرا کند.
تست های مستقل پایتون 3
برخی از تست های VTS مانند vts_treble_sys_prop_test در Python3 نوشته شده اند. تستهای مبتنی بر پایتون بهعنوان unittest.TestCase پیادهسازی میشوند و هر مورد تست میتواند از طریق دستورات پوسته با دستگاه تعامل داشته باشد.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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 بهوقت ساعت هماهنگ جهانی."],[],[],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."]]