مجموعة اختبار المورّد (VTS) والبنية الأساسية

توفّر "مجموعة اختبارات المصنّعين لنظام التشغيل 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

الاختبارات بأسلوب JUnit

مجموعة صغيرة من الاختبارات المستندة إلى المضيف في VTS هي اختبارات على غرار JUnit، على سبيل المثال، KernelApiSysfsTest. يتم تنفيذ اختبارات Java على هيئة BaseHostJUnit4Test، والتي تكون مرتبطة بجهاز اختبار ويمكنها تنفيذ أوامر ملف التمهيد لإجراء التحقّق.

اختبارات Python3 المستقلة

بعض اختبارات VTS، مثل vts_treble_sys_prop_test مكتوبة بلغة Python3. يتم تنفيذ الاختبار ات المستندة إلى Python كـ unittest.TestCase ويمكن لكل حالة اختبار ة التفاعل مع الجهاز من خلال أوامر shell.