اختبار نظام Android الأساسي

يوفّر "المشروع المفتوح المصدر لنظام 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.

ما هي الخطوات التالية؟

في ما يلي قائمة بالمستندات التي يمكنك قراءتها للحصول على معلومات أكثر تفصيلاً: