يوفّر "المشروع المفتوح المصدر لنظام Android" (AOSP) العديد من الأدوات ومجموعات الاختبار. لاختبار أجزاء مختلفة من عملية التنفيذ قبل استخدام الصفحات في هذه يجب أن تكون على دراية بالمصطلحات التالية:
- جهاز متوافق مع Android
- جهاز يمكنه تشغيل أي تطبيق تابع لجهة خارجية من إنشاء مطوّري برامج تابعين لجهات خارجية باستخدام حزمة تطوير البرامج (SDK) لنظام التشغيل Android وNDK. يجب أن تتقيّد الأجهزة المتوافقة مع Android متطلبات مستند تعريف التوافق (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.
- اختبار ما بعد الإرسال
يشير هذا المصطلح إلى اختبار 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) التفاعل مباشرةً مع HALs باستخدام واجهات برمجة تطبيقات منخفضة المستوى أو واجهات IPC.
وعادةً ما يكون النوعان 1 و2 من اختبارات قياس الأجهزة، بينما يكون النوع 3 من الاختبارات عادةً ما يكون ذلك هو اختبار GTest.
ما هي الخطوات التالية؟
في ما يلي قائمة بالمستندات التي يمكنك قراءتها للحصول على معلومات أكثر تفصيلاً:
إذا لم تكن قد تدرس بنية Android، فاطلع على نظرة عامة على البنية.
إذا كنت تنشئ جهازًا متوافقًا مع Android، راجع نظرة عامة على برنامج التوافق مع Android.
لدمج أدوات القياس والوظائف واختبارات المقاييس ومضيف JAR إلى خدمة اختبار مستمر في النظام الأساسي، راجع اختبار سير عمل التطوير:
لاكتشاف أجهزتك وتقويتها ضد الثغرات، راجِع اختبار الأمان.
لمزيد من المعلومات عن اختبار عمليات تنفيذ HAL وkernel، يُرجى الاطلاع على حزمة اختبار المورّد (VTS) والبنية الأساسية:
لاختبار التطبيق، يُرجى قراءة أساسيات اختبار Android التطبيقات وإجراء الإصدار المتقدّم من نظام التشغيل Android في Kotlin 05.1:Testing الأساسيات باستخدام تم تقديم عيّنات.
اطّلِع على معلومات عن اختبار الإرسال المُسبَق الأساسي المتاح لك من خلال عناصر الجذب في مواضع Repo. يمكن استخدام هذه الخطافات لتشغيل النصوص البرمجية والتحقّق من التنسيق وتشغيل الوحدة. اختبارات قبل المتابعة، مثل تحميل التزام. عناصر الجذب هذه غير مفعّلة بشكل افتراضي. للمزيد من المعلومات، يُرجى الاطّلاع على مقالة التحميل المسبق من AOSP. العناصر الجاذبة:
لقراءة المزيد من المعلومات عن التسجيل، راجِع المقالة فهم التسجيل.
لفهم طريقة تصحيح أخطاء رمز Android، يمكنك الاطّلاع على تصحيح أخطاء رمز نظام Android الأساسي الأصلي