مجموعة اختبار البائع (VTS) والبنية التحتية

يوفر Android Vendor Test Suite (VTS) اختبارات مكثفة على ما يلي:

  • نواة
  • طبقة تجريد الأجهزة (HAL)

يعمل VTS على جهاز سطح المكتب وينفذ حالات الاختبار مباشرة على الأجهزة المتصلة أو على المحاكيات. على غرار CTS ، فإن VTS عبارة عن مجموعة اختبار آلية تستخدم مكونات البرامج الرئيسية التالية.

  • يتم تشغيل أداة اختبار VTS Trade Union على جهازك المضيف وتدير تنفيذ الاختبار. فهو يوفر القدرة على تكوين المشاركة عبر أجهزة متعددة قيد الاختبار (DUTs). يمكنك أيضًا استخدام ميزة Suite Retry لإعادة المحاولة الفاشلة فقط بدلاً من مجموعات الاختبار بأكملها، مما يقلل بشكل كبير من وقت إعادة التشغيل.
  • يتم تنفيذ حالات الاختبار الفردية على DUT. يمكن أن تكون حالات الاختبار عبارة عن اختبارات بنمط gtest، أو اختبارات kernel، أو اختبارات بنمط JUnit مكتوبة بلغة Java.

أنواع الاختبارات

اختبارات نمط gtest

معظم الاختبارات في VTS عبارة عن اختبارات على نمط gtest تتحقق من تنفيذ HAL. الاختبار مكتوب بلغة C++ ويتم تشغيله على الجهاز. يتكرر اختبار VTS gtest النموذجي خلال كل مثيل لواجهة معينة، ويقوم بتشغيل جميع حالات الاختبار ضدها. ارجع إلى VtsHalHealthStorageV1_0TargetTest للحصول على مثال.

اختبارات نواة لينكس

  • Kselftest ( external/linux-kselftest ) عبارة عن مجموعة من الاختبارات المضمنة في مستودع Linux kernel في tools/testing/selftests ، منها 23 مضمنة في VTS للتشغيل على ARM.

  • تعمل اختبارات مشروع اختبار Linux ( خارجي/ltp ) على التحقق من موثوقية وقوة واستقرار Linux kernel.

اختبارات على غرار JUnit

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

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

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