يوفّر "المشروع المفتوح المصدر لنظام Android" (AOSP) العديد من الأدوات ومجموعات الاختبار لاختبار أجزاء مختلفة من عملية التنفيذ. قبل استخدام الصفحات في هذا القسم، يجب أن تكون على دراية بالمصطلحات التالية:
- جهاز متوافق مع Android
- جهاز يمكنه تشغيل أي تطبيق تابع لجهة خارجية من إنشاء مطوّري برامج تابعين لجهات خارجية باستخدام حزمة تطوير البرامج (SDK) لنظام التشغيل Android وNDK. يجب أن تلتزم الأجهزة المتوافقة مع Android ب requirements of the مستند تعريف التوافق (CDD) وأن تجتاز مجموعة اختبار التوافق (CTS). متوافقة مع Android يجب أن تكون أجهزتك مؤهّلة للمشاركة في منظومة Android المتكاملة، بما في ذلك ترخيص محتمل لتطبيق Google Play، وترخيص محتمل خدمات Google للأجهزة الجوّالة (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 يتم إجراؤه عندما يتم الالتزام بحزمة رمز تصحيح جديد. فرع نواة مشترك. من خلال إدخال
aosp_kernel
كاسم فرع جزئي، يمكنك بإمكانك الاطّلاع على قائمة بفروع النواة (kernel) تضم نتائج متاحة. على سبيل المثال، يمكن العثور على نتائجandroid-mainline
على الرابط https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid.- اختبار الإرسال المسبق
يشير ذلك المصطلح إلى اختبار يُستخدَم لمنع ظهور الأخطاء في النواة المشتركة.
- اتحاد التجارة
يُطلق عليه أيضًا اسم Tradefed، وهو اختبار مستمر والمصمم لإجراء الاختبارات على أجهزة Android. على سبيل المثال: تُستخدم الأداة Tradefed لإجراء اختبارات التوافق مع Vendor Test Suite واختبارات Vendor Test Suite.
- حزمة اختبار المورّد (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:Testing الأساسيات باستخدام تم تقديم عيّنات.
اطّلِع على معلومات عن اختبار الإرسال المُسبَق الأساسي المتاح لك من خلال عناصر الجذب في مواضع Repo. يمكن استخدام هذه الخطافات لتشغيل النصوص البرمجية والتحقّق من التنسيق وتشغيل الوحدة. اختبارات قبل المتابعة، مثل تحميل التزام. عناصر الجذب هذه غير مفعّلة تلقائيًا. لمزيد من المعلومات، يُرجى الاطّلاع على AOSP Preupload Hooks.
لقراءة المزيد من المعلومات عن التسجيل، راجِع المقالة فهم التسجيل.
لفهم طريقة تصحيح أخطاء رمز Android، يمكنك الاطّلاع على تصحيح أخطاء رمز نظام Android الأساسي الأصلي