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

مجموعه تست فروشنده 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 پیاده‌سازی می‌شوند و هر مورد تست می‌تواند از طریق دستورات پوسته با دستگاه تعامل داشته باشد.