توفّر مجموعة اختبارات المصنّعين لنظام التشغيل Android (VTS) اختبارًا شاملاً لما يلي:
- Kernel
- طبقة تجريد الأجهزة (HAL)
يتم تشغيل VTS على جهاز كمبيوتر مكتبي، وتنفيذ حالات الاختبار مباشرةً على الأجهزة المُرفَقة أو على المحاكيات. على غرار مجموعة أدوات اختبار التوافق (CTS)، فإنّ مجموعة أدوات اختبار الأداء هي مجموعة اختبارات مبرمَجة تستخدِم المكوّنات الرئيسية التالية للبرامج:
- يتم تشغيل تسخير اختبار اتحاد تجاري VTS على الجهاز المضيف ويدير تنفيذ الاختبار. وتوفّر إمكانية ضبط التجزئة على مستوى أجهزة متعددة قيد الاختبار. يمكنك أيضًا استخدام ميزة إعادة محاولة تنفيذ الحزمة لإعادة محاولة تنفيذ الاختبارات التي تعذّر إكمالها فقط بدلاً من حِزم الاختبار بأكملها، ما يقلل بشكل كبير من وقت إعادة التشغيل.
- يتم تنفيذ حالات الاختبار الفردية على DUT. ويمكن أن تكون حالات الاختبار: اختبارات بنمط GTest أو اختبارات kernel أو اختبارات بنمط 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 (الإصدار الخارجي/ltp) إلى التحقّق من موثوقية وقوة واستقرار نواة Linux.
الاختبارات بأسلوب JUnit
مجموعة صغيرة من الاختبارات المستندة إلى المضيف في VTS هي اختبارات على غرار JUnit، على سبيل المثال،
KernelApiSysfsTest
.
يتم تنفيذ اختبارات Java على هيئة
BaseHostJUnit4Test
،
والتي تكون مرتبطة بجهاز اختبار ويمكنها تنفيذ أوامر ملف التمهيد
لإجراء عملية التحقّق.
اختبارات Python3 المستقلة
بعض اختبارات VTS، مثل
vts_treble_sys_prop_test
مكتوبة بلغة Python3. يتم تنفيذ الاختبار
ات المستندة إلى Python كـ unittest.TestCase
ويمكن لكل حالة اختبار
ة التفاعل مع الجهاز من خلال أوامر shell.