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

توفّر "حزمة اختبار مورّدي 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، ويتطلّب كل اختبار الحافظة أن تتفاعل مع الجهاز من خلال أوامر الغلاف.