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