الأسئلة الشائعة حول CTS

برنامج التوافق مع Android هو المحرّك الأساسي للحفاظ على الملاحظات الإيجابية بشأن منظومة Android المتكاملة. يُعدّ اختبار التوافق مع نظام التشغيل Android الأداة الأساسية لضمان جودة التوافق على نطاق واسع. يواصل فريق Android تحسين أداة CTS وتغطية الاختبار. تؤدي إضافة حالات الاختبار بانتظام إلى تحسين جودة الأجهزة المتوافقة بشكل كبير.

أسئلة عامة

يتضمّن هذا القسم الأسئلة الشائعة العامة حول "أجهزة التلفزيون المتصلة".

ما هي أنواع العناصر التي يختبرها CTS؟

تختبر مجموعة اختبارات التوافق (CTS) ما إذا كانت جميع واجهات برمجة التطبيقات المتوافقة مع Android ذات الكتابة القوية متوفّرة وتعمل بشكل صحيح. تختبر مجموعة اختبارات التوافق أيضًا سلوكيات أخرى للنظام غير مرتبطة بواجهات برمجة التطبيقات، مثل دورة حياة التطبيق والأداء.

كيف يتم ترخيص مجموعة أدوات اختبار التوافق (CTS)؟

تم الترخيص لمجموعة أدوات اختبار التوافق (CTS) بموجب ترخيص Apache Software License 2.0 نفسه الذي تستخدمه معظم إصدارات Android.

هل يتم التحقّق من برامج الترميز من خلال اختبار التوافق مع نظام التشغيل Android؟

نعم. يتم التحقّق من جميع برامج الترميز الإلزامية من خلال مجموعة اختبار التوافق (CTS).

أسئلة خاصة بالاختبار

يقدّم هذا القسم أسئلة شائعة تساعد في إجراء اختبارات CTS بكفاءة أكبر.

ما الفرق بين تقسيم CTS وتقسيم TensorFlow؟

يختلف كل من CTS Sharding وTF Sharding تمامًا عن خطط الاختبار التي تستند إلى قاعدة بيانات مختلفة لبنية الاختبار الأساسية. مع أنّ أمر التشغيل هو نفسه في جميع الإصدارات، يختلف سلوك نتيجة التقسيم. تقسيم مجموعة أدوات اختبار التوافق (CTS) يوزّع حالات الاختبار بشكل ثابت على الأجهزة الخاضعة للاختبار (DUT) على النحو التالي:

توزّع TF Sharding حالات الاختبار ديناميكيًا على الأجهزة المتاحة على النحو التالي:

ما هو المتوقّع من جهاز يتيح استخدام واجهات تطبيق ثنائية متعددة؟

يجب أن يجتاز الجهاز جميع اختبارات "مجموعة أدوات اختبار التوافق" و"أداة التحقّق من مجموعة أدوات اختبار التوافق" لكل وضع من أوضاع واجهة التطبيق الثنائية (ABI) التي يدّعي الجهاز أنّه يتيحها. لذلك، من الضروري تنفيذ تطبيق لواجهات التطبيق الثنائية (ABI) المحدّدة. في ما يلي إرشادات حِزم ABI المتعدّدة:

  • بالنسبة إلى CTS وCTS Verifier، تتوفّر إصدارات ARM وx86 لكل بنية. ويمكن لكل منهما دعم وضع 32 أو 64 بت.
  • بالنسبة إلى اختبارات CTS، إذا كان الجهاز متوافقًا مع كل من ARM وx86، يجب أن يجتاز اختبارات CTS لكل من ARM وx86 على التوالي.

راجِع القسم 3.3.1 من مستند تعريف التوافق (CDD). واجهات التطبيق الثنائية لمتطلبات توافق واجهة التطبيق الثنائية في مستند تعريف التوافق

هل يكفي إجراء اختبار على واجهة التطبيق الثنائية الأساسية فقط (مثل 64 بت) لتقليل وقت تنفيذ الاختبار؟

لا، يعمل تطبيق Android على أوقات تشغيل 32 بت أو 64 بت الخاصة به. يختلف رمز الآلة الفعلي ومسار الرمز والحالة بين 32 و64. في حال تخطّي أحد الأوضاع، لن يتم تغطية سوى% 50 من واجهة التطبيق الثنائية (ABI) للجهاز.

لماذا يتم الإبلاغ عن العديد من حالات الاختبار على أنّها "لم يتم تنفيذها"؟

يجب التحقّق من عدد الوحدات المكتملة بدلاً من عدد الوحدات التي لم يتم تنفيذها.

في الإصدارات السابقة، تم تسجيل وحدات CTS على أنّها تم إكمال الوحدة بشكل مفرط قبل إكمالها. لذلك، تم تسجيل عدد الوحدات المكتملة بدون إكمال جميع حالات الاختبار، حتى عندما واجهت بعض الأجهزة مشاكل. إنّ أداة الاختبار الجديدة أكثر تحفظًا، وتُبلغ عن عدد أكبر من الاختبارات التي تحمل الحالة لم يتم التنفيذ عند حدوث مشكلة.

يُبلغ تشغيل الوحدة حتى الاكتمال عن لم يتم تنفيذ الوحدة في أحدث استدعاء (done="false") في التقرير أثناء ما يلي:

  • تمت مقاطعة تشغيل تجريبي للوحدة بسبب مشكلة في اتصال الجهاز.
  • لم يتم تنفيذ جميع عمليات الاختبار المتوقّعة للوحدة.
  • تمت إعادة المحاولة (باستخدام الخيار -r/--retry) مع خيارات فلترة إضافية، مثل:

    • --include-filter
    • --exclude-filter
    • ‎-t/--test (لم يتوفّر هذا الخيار بعد عند إعادة المحاولة)
    • --retry-type failed
    • --subplan

للحصول على الحالة Module Done (done="true") لهذه الوحدات، أعِد محاولة تنفيذ ما يلي لأحدث طلب:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

يتم وضع علامة تمت الوحدة في التقرير الجديد على الوحدة التي تم تنفيذها بدون أي من المشاكل المذكورة سابقًا (حتى إذا لم يتبقَّ أي اختبارات).

الاستثناءات

  • تواجه حزمة CtsNNAPITestCases مشكلة معروفة بسبب قيود نظام التشغيل Linux/OS على الوسيطات. يمكن إعادة تشغيل الوحدة بشكل منفصل من خلال run cts -m CtsNNAPITestCases مباشرةً.

كيف يمكنني تجنُّب عدم إمكانية الوصول إلى مواد التحضير للاختبار بسبب جدار الحماية الخاص بالشركة؟

تحاول جميع مجموعات الاختبار الآلية تنزيل ملفات الوسائط الخاصة بمجموعة أدوات اختبار التوافق (CTS) أو ملفات منطق النشاط التجاري أثناء وقت التشغيل. في العديد من بيئات الشركات، يكون جدار الحماية والخادم الوكيل أمرًا شائعًا، ما يؤدي إلى تعذُّر إعداد الاختبار. نفِّذ السطر التالي أو أضِفه إلى ملف .profile (على Ubuntu).

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

هل أحتاج إلى شريحة SIM لاختبار CTS للعنصر الآمن؟

يعتمد ما إذا كانت شريحة SIM مطلوبة للاختبار على ما إذا كانت الميزة متوافقة مع جهاز الاختبار.

  • إذا كان جهازك لا يحتاج إلى أن يكون متوافقًا مع تطبيقات Android التي يمكنها الوصول إلى العناصر الآمنة، سواء في UICC (مثل شريحة SIM) التي يوزّعها مشغّلو شبكات الجوّال (شركات الاتصالات) أو المضمّنة في الجهاز، يمكنك ضبط ملف HIDL لعدم تضمين عنصر android.hardware.secure_element HAL. في هذه الحالة، تعرض واجهة برمجة التطبيقات android.se.omapi.SEService.getReaders() قائمة فارغة، ويجتاز اختبار CTS تلقائيًا ويُبلغ عن اجتيازه.
  • إذا كان جهازك يحتاج إلى إتاحة وصول تطبيقات Android إلى العناصر الآمنة، سواء في UICC (مثل شريحة SIM) التي يوزّعها مشغّلو شبكات الجوّال (شركات الاتصالات) أو المضمّنة في الجهاز، عليك تنفيذ العنصر الآمن بشكل صحيح واختباره داخليًا. توضّح اختبارات مجموعة أدوات اختبار التوافق (CTS) للعنصر الآمن كيفية الاستعداد لتشغيل اختبارات مجموعة أدوات اختبار التوافق التي تضمن عمل حزمة واجهة برمجة التطبيقات android.se.omapi التي تمت إضافتها في Android 9. ننصحك أيضًا بإجراء اختبارات إضافية بنفسك لأنّ تغطية اختبارات CTS محدودة.

أين يمكنني الحصول على شرائح SIM لاختبار التوافق مع نظام التشغيل Android (CTS) لعنصر Secure Element؟

يمكنك التواصل مع بائع شرائح SIM المفضّل لديك.

لماذا تظهر شريحة SIM من Orange على شاشة القفل أثناء تنفيذ اختبار التوافق مع نظام التشغيل (CTS) باستخدام تجزئة الرمز المميّز؟

لا تبدأ حالة الاختبار لأنّ اختبار شريحة SIM مؤمّن. أوقِف خيار قفل شريحة SIM في **إعدادات قفل شريحة SIM قبل تنفيذ اختبار التوافق مع نظام التشغيل Android (CTS) باستخدام تقسيم الرموز المميزة.

يتم إجراء الاختبار عند إيقاف علامات الميزات في الجهاز

بالنسبة إلى جميع العلامات في إصدارات البناء، يستخدم التعليق التوضيحي @RequiresFlagsEnabled أو @RequiresFlagsDisabled قيم العلامات من إعدادات إصدار ثنائي CTS، وليس من إعدادات إصدار الجهاز. لا يؤدي إيقاف العلامات على الجهاز إلى إيقاف الاختبار، لأنّ مجموعة اختبارات CTS التي يتم إجراؤها لإصدار معيّن تكون ثابتة في إعدادات النظام الأساسي لإصدار AOSP.