يوفر Android 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.