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

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

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

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

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

انواع تست

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

اکثر تست‌ها در VTS تست‌هایی به سبک gtest هستند که اجرای HAL را بررسی می‌کنند. تست به زبان C++ نوشته شده و روی دستگاه اجرا می شود. یک gtest VTS معمولی از طریق هر نمونه از یک اینترفیس معین تکرار می شود و تمام موارد تست را بر اساس آن اجرا می کند. برای مثال به 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 پیاده‌سازی می‌شوند و هر مورد تست می‌تواند از طریق دستورات پوسته با دستگاه تعامل داشته باشد.