توفّر "حزمة اختبار مورّدي Android" (VTS) إجراء اختبارات مكثفة على ما يلي:
- Kernel
- طبقة تجريد الأجهزة (HAL)
يتم تشغيل VTS على جهاز كمبيوتر مكتبي وينفذ حالات الاختبار مباشرةً على الأجهزة المتصلة أو على المحاكيات. على غرار CTS، تُعد VTS مجموعة اختبار آلية يستخدم مكونات البرنامج الرئيسية التالية.
- الاتحاد التجاري لـ VTS تشغيل متتبع الاختبار على الجهاز المضيف وإدارة الاختبار والتنفيذ. إنها توفر القدرة على إعداد التقسيم إلى أجزاء على أجهزة متعدّدة قيد الاختبار (DUTs) يمكنك أيضًا استخدام إعادة محاولة استخدام حزمة إعادة محاولة الإخفاق فقط بدلاً من مجموعات الاختبار بأكملها، ما يقلّل بشكل كبير من وقت إعادة التشغيل
- يتم تنفيذ حالات الاختبار الفردية على DUT. حالات الاختبار اختبار gtest أو اختبارات kernel أو اختبارات بنمط JUnit مكتوبة في جافا.
أنواع الاختبارات
يمكن الاطّلاع على الأنواع المختلفة من اختبارات VTS في الأقسام التالية.
اختبارات أسلوب gtest
معظم الاختبارات في VTS هي اختبارات من نمط Gtest التي تتحقق من HAL
التنفيذ. الاختبار هو
مكتوبة بلغة C++ وتعمل على الجهاز. يتم تكرار اختبار VTS نموذجي من خلال
لكل مثيل لواجهة معينة، وإجراء جميع حالات الاختبار
ضده. يمكنك الرجوع إلى VtsHalHealthStorageV1_0TargetTest
.
للحصول على مثال.
اختبارات نواة Linux
Kselftest (external/linux-kselftest) هي مجموعة من الاختبارات المضمنة في مستودع نواة Linux مقابل
tools/testing/selftests
، منها 23 مشمولة في VTS لتشغيلها على ARM.المشروع التجريبي على Linux (external/ltp) التحقق من موثوقية نواة Linux وقوتها واستقرارها.
اختبارات بأسلوب JUnit
وهناك مجموعة صغيرة من الاختبارات التي يديرها المضيف في VTS هي اختبارات بنمط JUnit، على سبيل المثال،
KernelApiSysfsTest
يتم تنفيذ اختبارات Java
BaseHostJUnit4Test
,
المرتبط بجهاز اختباري
وبإمكانه تشغيل واجهة الأوامر
والأوامر لإجراء التحقق.
اختبارات Python3 المستقلة
تتضمن بعض اختبارات VTS، مثل
vts_treble_sys_prop_test
بلغة Python3. تشير رسالة الأشكال البيانية
يتم تنفيذ الاختبارات المستندة إلى بايثون ضمن خوارزمية unittest.TestCase
، ويتطلّب كل اختبار
الحافظة أن تتفاعل مع الجهاز من خلال أوامر الغلاف.