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

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

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

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

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

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

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

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

اختبارات Linux kernel

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

  • تتحقق اختبارات Linux Test Project ( خارجي / ltp ) من موثوقية وقوة واستقرار نواة Linux.

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

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

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

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