يوفّر "المشروع المفتوح المصدر لنظام Android" (AOSP) العديد من الأدوات ومجموعات الاختبار لاختبار أجزاء مختلفة من عملية التنفيذ. قبل استخدام الصفحات في هذا القسم، يجب أن تكون على دراية بالمصطلحات التالية:
- جهاز متوافق مع Android
- جهاز يمكنه تشغيل أي تطبيق تابع لجهة خارجية كتبه مطوّرون تابعون لجهات خارجية باستخدام حِزم تطوير البرامج (SDK) وNDK لنظام التشغيل Android يجب أن تلتزم الأجهزة المتوافقة مع Android ب requirements of the مستند تعريف التوافق (CDD) وأن تجتاز اختبارات مجموعة اختبار التوافق (CTS). إنّ الأجهزة المتوافقة مع Android مؤهَّلة للمشاركة في منظومة Android المتكاملة، والتي تشمل الترخيص المحتمل لخدمة Google Play، والترخيص المحتمل لمجموعة Google Mobile Services (GMS) من التطبيقات وواجهات برمجة التطبيقات، واستخدام علامة Android التجارية. يمكن لأي مستخدم استخدام رمز المصدر لنظام التشغيل Android، ولكن لكي يُعتبر الجهاز جزءًا من منظومة Android المتكاملة، يجب أن يكون متوافقًا مع Android.
- العنصر
- سجلّ مرتبط بالإصدار يتيح تحديد المشاكل وحلّها على الجهاز
- مستند تعريف التوافق (CDD)
- مستند يسرد متطلبات البرامج والأجهزة لجهاز متوافق مع Android
- مجموعة أدوات اختبار التوافق (CTS)
مجموعة اختبارات مجانية من المستوى التجاري، متاحة للتنزيل كملف ثنائي أو كملف مصدر في AOSP اختبارات CTS هي مجموعة من اختبارات الوحدة المصمّمة للدمج في سير عملك اليومي. يهدف إطار عمل CTS إلى الكشف عن حالات عدم التوافق، و ضمان بقاء البرنامج متوافقًا طوال عملية التطوير.
لا يتعارض اختبار CTS مع اختبارات النظام الأساسي. في ما يلي بعض الإرشادات العامة:
- إذا كان الاختبار يؤكّد صحة وظائف واجهة برمجة التطبيقات أو سلوكيات إطار العمل، ويجب فرض الاختبار على جميع شركاء المصنّعين الأصليّين للأجهزة، يجب أن يكون الاختبار في CTS.
- إذا كان الاختبار مخصّصًا لرصد حالات التراجع أثناء تطوير المنصة، وقد يتطلّب إذنًا متميزًا لتنفيذه، وقد يعتمد على تفاصيل التنفيذ (على النحو الذي تم إصداره في AOSP)، يجب أن يكون اختبارًا للمنصّة.
- خدمات Google للأجهزة الجوّالة (GMS)
مجموعة من تطبيقات Google وواجهات برمجة التطبيقات التي يمكن تثبيتها مسبقًا على الأجهزة
- GoogleTest (GTest)
إطار عمل لاختبار وتقليد C++ عادةً ما تَستخدم الوحدات الثنائية لـ GTest طبقات التجريد من المستوى الأدنى أو تُجري وظائف معالجة المعلومات بين العمليات (IPC) الأوّلية مع خدمات النظام المختلفة. عادةً ما يكون نهج الاختبار في GTest مرتبطًا بشكل وثيق بال الخدمة التي يتم اختبارها. يحتوي CTS على إطار عمل GTest.
- اختبار لقياس حالة التطبيق
بيئة تنفيذ اختبار خاصة يتم تشغيلها من خلال الأمر
am instrument
، حيث تتم إعادة تشغيل عملية التطبيق المستهدفة وإعدادها باستخدام سياق التطبيق الأساسي، ويتم بدء سلسلت رسائل برمجية للعملية الفحص داخل المعالج الافتراضية لعملية التطبيق. تحتوي مجموعة اختبار التوافق (CTS) على اختبارات الأدوات.- Logcat
أداة سطر أوامر تنشئ سجلاً لرسائل النظام، بما في ذلك تتبُّع تسلسل استدعاء الدوال البرمجية عندما يُرسِل الجهاز رسالة خطأ والرسائل التي كتبتها من تطبيقك باستخدام فئة
Log
.- التسجّل
استخدام سجلّ لتتبُّع أحداث نظام الكمبيوتر، مثل الأخطاء إنّ تسجيل البيانات في Android معقّد بسبب مزيج المعايير المستخدَمة التي يتم دمجها في أداة Logcat.
- postsubmit test
اختبار Android الذي يتم إجراؤه عند تأكيد تصحيح جديد في مسار kernel (النواة) المشترَك من خلال إدخال
aosp_kernel
كاسم فرع جزئي، يمكنك الاطّلاع على قائمة بفروع النواة التي تتوفّر فيها نتائج. على سبيل المثال، يمكن العثور على نتائجandroid-mainline
على الرابط https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid.- اختبار التقديم المُسبَق
اختبار يُستخدَم لمنع حدوث أعطال في ملفّات kernel المشترَكة
- اتحاد التجارة
يُعرف هذا الإطار أيضًا باسم Tradefed، وهو إطار عمل اختبار متواصل مُصمّم لإجراء الاختبارات على أجهزة Android. على سبيل المثال، يُستخدَم Tradefed لإجراء اختبارات مجموعة أدوات اختبار التوافق ومجموعة أدوات اختبار المورّدين.
- مجموعة اختبار المورّد (VTS)
مجموعة من الإمكانات الواسعة النطاق لاختبار Android، وتعزيز عملية التطوير المستنِد إلى الاختبار، وبرمجة اختبارات واجهة HAL واختبار نواة نظام التشغيل
أنواع اختبارات النظام الأساسي
يتفاعل اختبار النظام الأساسي عادةً مع خدمة واحدة أو أكثر من خدمات نظام Android أو طبقات HAL، وينفِّذ وظائف الموضوع الذي يتم اختباره، ويؤكّد صحة نتيجة الاختبار. يمكن أن يؤدي اختبار المنصة إلى ما يلي:
- (النوع 1) اختبار واجهات برمجة تطبيقات إطار العمل باستخدام إطار عمل Android يمكن أن تشمل واجهات برمجة التطبيقات المحدّدة التي يتم استخدامها ما يلي:
- واجهات برمجة التطبيقات المتاحة للجميع والمخصّصة للتطبيقات التابعة لجهات خارجية
- واجهات برمجة التطبيقات المخفية المخصّصة للتطبيقات المميّزة، مثل واجهات برمجة تطبيقات النظام أو
واجهات برمجة التطبيقات الخاصة (
@hide
أوprotected
أوpackage private
)
- (النوع 2) استدعاء خدمات نظام Android باستخدام رابط رابط خام أو وسطاء IPC مباشرةً
- (النوع 3) التفاعل مباشرةً مع واجهات HAL باستخدام واجهات برمجة تطبيقات من المستوى المنخفض أو واجهات IPC
عادةً ما تكون اختبارات النوعَين 1 و2 هي اختبارات الأدوات، في حين تكون اختبارات النوع 3 عادةً هي اختبارات GTests.
ما هي الخطوات التالية؟
في ما يلي قائمة بالمستندات التي يمكنك قراءتها للحصول على معلومات أكثر تفصيلاً:
إذا لم تكن قد درست بنية Android، يمكنك الاطّلاع على نظرة عامة على البنية.
إذا كنت بصدد إنشاء جهاز متوافق مع Android، يمكنك الاطّلاع على نظرة عامة على برنامج التوافق مع Android.
لدمج اختبارات قياس حالة التطبيق والاختبارات الوظيفية والمقاييس واختبارات مضيف JAR في خدمة الاختبار المستمر للنظام الأساسي، اطّلِع على سير عمل تطوير الاختبار.
لرصد نقاط الضعف في أجهزتك وتعزيزها، يُرجى الاطّلاع على اختبار الأمان.
للتعرّف على كيفية اختبار عمليات تنفيذ HAL والنواة، اطّلِع على مجموعة اختبار المورّد (VTS) والبنية الأساسية.
لاختبار التطبيقات، يُرجى الاطّلاع على أساسيات اختبار تطبيقات Android وإجراء الدورة التدريبية "تطبيقات متقدمة متوافقة مع نظام Android باستخدام لغة Kotlin" 05.1:أساسيات اختبار التطبيقات باستخدام عيّنات المقدّمة.
تعرَّف على اختبار الفحص المُسبَق الأساسي المتاح لك من خلال أدوات الربط في المستودع. يمكن استخدام هذه العناصر لتشغيل أدوات التدقيق وفحص التنسيق وبدء اختبارات الوحدات قبل المتابعة، مثل تحميل عملية الربط. تكون هذه العناصر غير مفعّلة تلقائيًا. لمزيد من المعلومات، يُرجى الاطّلاع على AOSP Preupload Hooks.
لقراءة المزيد من المعلومات عن التسجيل، يُرجى الاطّلاع على فهم التسجيل.
للتعرّف على كيفية تصحيح أخطاء رمز Android، اطّلِع على مقالة تصحيح أخطاء رمز نظام التشغيل Android الأصلي.