بدء الاختبار باستخدام أجهزة Android الافتراضية

يصف هذا المستند متوسّطات مدة المشاهدة (AVD) لبرنامج Test Lab، بما في ذلك المزايا والقيود المعروفة. نقدّم أيضًا اقتراحات حول كيفية اختبار تطبيقك طوال دورة حياة التطوير. تشبه متوسّطات مدة المشاهدة في "مركز الاختبار الافتراضي" متوسّط مدة المشاهدة في "استوديو YouTube" لكنّها محسَّنة لتتوافق مع أدائها باستخدام الاختبار على السحابة الإلكترونية، لذلك هناك بعض الاختلافات بين التجربتَين.

إنّ معدّات Test Lab التي تستخدم اللاحقة .arm أو (Arm) هي أدوات محاكاة متقدّمة توفّر المزايا التالية:

  • وقت تنفيذ الاختبار أسرع

  • توافق أحجام الشاشة وكثافاتها مع متوسط مدة المشاهدة في "استوديو Android" لتحقيق اتساق المحتوى

  • رسومات مسرَّعة متوافقة مع وحدة معالجة الرسومات

يوضّح الجدول التالي مزايا استخدام الأجهزة الافتراضية:

الميزة الوصف حالات الاستخدام
مدى التوفّر العالي يمكنك إجراء الاختبارات والحصول على نتائجها بسرعة أكبر عند إجراء الاختبارات باستخدام أجهزة افتراضية. ولأنّ الأجهزة الافتراضية يتم إنشاؤها عند الطلب، تبدأ اختباراتك على الفور، ما يوفّر عملية تحقّق سريعة من تطبيقك. اختبار التحديثات الصغيرة التي تم إجراؤها على تطبيقك أو لاختبار التراجع
مُدد اختبار أطول تتيح الأجهزة الافتراضية استخدام مدة اختبار تصل إلى 60 دقيقة. وتقتصر مدة الاختبارات على الأجهزة الفعلية على 45 دقيقة على كل جهاز. إجراء اختبارات أطول
تكاليف أقل تبلغ أسعار الأجهزة الافتراضية دولار أمريكي واحد في الساعة لكل جهاز افتراضي يتم استخدامه لاختبار تطبيقك. اختبار يومي باستخدام أنظمة تكامل متواصل أو قبل التحقق من الرموز البرمجية. لمزيد من المعلومات، اطّلِع على مستويات الاستخدام والحصص والأسعار في Test Lab.

اختبار تطبيقك باستخدام الأجهزة الافتراضية

يمكنك اختبار تطبيقك باستخدام أجهزة افتراضية بالطريقة نفسها التي تختبره بها مع الأجهزة المادية. يمكنك اختيار أجهزة افتراضية لاختباراتك عند تكوين مصفوفة اختبار. لمزيد من المعلومات حول إجراء الاختبارات من خلال Test Lab، يمكنك الاطّلاع على مقالة بدء اختبار Android من خلال مركز الاختبار الافتراضي لمنصة Firebase.

عرض النماذج وواجهات برمجة التطبيقات المتوافقة

لعرض نماذج AVD وواجهات برمجة التطبيقات المتوافقة مع Test Lab، شغِّل الأمر التالي:

gcloud firebase test android models list --filter=virtual

أفضل الممارسات لاختبار تطبيقك

تزيد الأجهزة الافتراضية من نطاق الخيارات عند اختبار تطبيقك باستخدام Test Lab. ننصح باتّباع أفضل الممارسات التالية لاختبار تطبيقك طوال مراحل تطوير التطبيق:

استخدام محاكي "استوديو Android" أو جهاز فعلي متصل

عند تطوير التطبيق، يمكنك استخدام محاكي "استوديو Android" أو جهاز مادي مرفق لفحص كل إصدار بهدف التحقق من صحته. إذا كنت تحتاج إلى إجراء اختبارات لقياس حالة التطبيق، يمكنك أيضًا إجراء هذه الاختبارات من "استوديو Android" على أجهزة مادية أو افتراضية يوفّرها مركز Test Lab.

استخدِم أنظمة CI عند كل تغيير في الرمز البرمجي عند العمل على مشاريع مشتركة

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

اختبار تطبيقك على الأجهزة الفعلية باستخدام Test Lab قبل إصدار تحديثات مهمة له

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

تحديثات الأجهزة الافتراضية

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

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

القيود المعروفة

بعض ميزات الأجهزة المادية غير محاكية حاليًا للأجهزة الافتراضية، أو تتم محاكاتها مع بعض القيود. يلخص الجدول التالي الميزات غير المتوفرة حاليًا على الأجهزة الافتراضية، أو المتاحة مع بعض القيود:

الميزة التفاصيل
واجهات التطبيق الثنائية (ABI) لا تتوافق بعض الأجهزة مع جميع واجهات التطبيق الثنائية (ABI). في حال تطوير التطبيقات باستخدام Android NDK، احرص على إنشاء رموز لواجهات التطبيق الثنائية (ABI) المتوافقة مع الأجهزة التي تستهدفها (راجِع الأجهزة المتاحة في Test Lab). لمزيد من المعلومات حول إدارة واجهات التطبيق الثنائية (ABI)، يُرجى الاطّلاع على واجهات التطبيق الثنائية (ABI) في Android.

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

أداء الرسومات تستخدم أجهزة Nexus وPixel الافتراضية عرض الرسومات البرمجية. وقد ينخفض أداء التطبيقات التي تستهلك قدرًا كبيرًا من الرسومات. إذا كان تطبيقك يتطلب رسومات كبيرة، يمكنك استخدام SmallPhone.arm أو MediumPhone.arm أو الأجهزة الفعلية بدلاً من ذلك.
واجهات برمجة التطبيقات للرسومات لا يمكن استخدام OpenGL ES 3.x على الأجهزة الأقل من المستوى 29 لواجهة برمجة التطبيقات. لا تتوافق الأجهزة الأحدث مع واجهات برمجة تطبيقات OpenGL/Vulkan بنسبة 100%، وقد تلاحظ اختلافات طفيفة في الرسومات.
تطبيق "متجر Google Play" لا يمكن استخدام تطبيق "متجر Google Play" على "ذراع التحكم" على الأجهزة الافتراضية.
وظيفة "الواقع المعزّز" لا يمكن اختبار وظيفة الواقع المعزز (AR) على الأجهزة الافتراضية.
مستويات واجهة برمجة التطبيقات القديمة لا تتوافق الأجهزة الافتراضية لمجموعة Test Lab من خلال مستويات واجهة برمجة التطبيقات الأقل من 26.

الخطوات اللاحقة