مجموعه تست فروشنده (VTS) و زیرساخت

مجموعه تست فروشنده Android 11 (VTS) آزمایشات گسترده ای را در مورد موارد زیر ارائه می دهد:

  • هسته
  • لایه انتزاعی سخت افزاری (HAL)

VTS روی یک ماشین دسکتاپ اجرا می شود و موارد تست را مستقیماً روی دستگاه های متصل یا شبیه سازها اجرا می کند. مشابه CTS ، VTS یک مجموعه تست خودکار است که از اجزای اصلی نرم افزار زیر استفاده می کند.

  • مهار تست فدراسیون تجارت VTS روی دستگاه میزبان شما اجرا می شود و اجرای آزمایش را مدیریت می کند. این قابلیت پیکربندی Sharding در چندین دستگاه تحت آزمایش (DUT) را ارائه می دهد. همچنین می‌توانید از ویژگی Suite Retry برای امتحان مجدد فقط خطاها و نه کل مجموعه‌های آزمایشی استفاده کنید، که زمان اجرای مجدد را بسیار کاهش می‌دهد.
  • موارد تست فردی در DUT اجرا می شوند. موارد تست می‌توانند تست‌های سبک gtest، تست‌های هسته یا تست‌های سبک JUnit باشند که در جاوا نوشته شده‌اند.

انواع تست

آزمون های سبک gtest

اکثر تست‌ها در VTS تست‌هایی به سبک gtest هستند که اجرای HAL را بررسی می‌کنند. تست به زبان C++ نوشته شده و روی دستگاه اجرا می شود. یک Gtest VTS معمولی از طریق هر نمونه از یک اینترفیس مشخص تکرار می‌شود و تمام موارد تست را بر اساس آن اجرا می‌کند. برای مثال به VtsHalHealthStorageV1_0TargetTest مراجعه کنید.

تست هسته لینوکس

  • Kselftest ( اکسترنال/لینوکس-kselftest ) مجموعه‌ای از تست‌های موجود در مخزن هسته لینوکس در tools/testing/selftests است که 23 مورد از آن‌ها در VTS برای اجرا در ARM گنجانده شده‌اند.

  • تست های پروژه تست لینوکس ( اکسترنال/ltp ) قابلیت اطمینان، استحکام و پایداری هسته لینوکس را تایید می کند.

آزمون های سبک JUnit

مجموعه کوچکی از تست‌های میزبان محور در VTS تست‌های سبک JUnit هستند، به عنوان مثال، KernelApiSysfsTest . تست‌های جاوا به‌عنوان BaseHostJUnit4Test پیاده‌سازی می‌شوند که با یک دستگاه آزمایشی مرتبط است و می‌تواند دستورات پوسته را برای انجام اعتبارسنجی اجرا کند.

تست های مستقل پایتون 3

برخی از تست های VTS مانند vts_treble_sys_prop_test در Python3 نوشته شده اند. تست‌های مبتنی بر پایتون به‌عنوان unittest.TestCase پیاده‌سازی می‌شوند و هر مورد آزمایشی می‌تواند از طریق دستورات پوسته با دستگاه تعامل داشته باشد.