بدء اختبار تطبيقات Android باستخدام مركز الاختبار الافتراضي لمنصة Firebase

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

للحصول على معلومات حول حصص Test Lab وخطط الأسعار، يُرجى الاطّلاع على الاستخدام والحصص والأسعار.

المفاهيم الرئيسيّة

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

الأجهزة × عمليات تنفيذ الاختبار = مصفوفة الاختبار

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

الخطوة 1: تحضير الاختبار لتحميله إلى Test Lab

أنواع الاختبارات المتاحة

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

  • اختبار الأجهزة أو اختبار الوحدة المزوَّد بأدوات: هو اختبار كتبته باستخدام إطارَي العمل Espresso أو UI Automator. باستخدام هذا الاختبار، يمكنك تقديم تأكيدات صريحة بشأن حالة تطبيقك للتحقّق من صحة الوظائف باستخدام واجهات برمجة التطبيقات الخاصة بـ AndroidJUnitRunner.

  • اختبار Robo: هو اختبار آلي يحلّل واجهة المستخدم في تطبيقك، ثم يستكشفها بشكل منهجي من خلال محاكاة أنشطة المستخدمين، بدون الحاجة إلى كتابة أي رمز برمجي. يمكنك الانتقال إلى مقالة لمحة عن اختبارات Robo للحصول على مزيد من المعلومات.

  • اختبار "حلقة الألعاب": هو اختبار يستخدم "وضعًا تجريبيًا" لمحاكاة إجراءات اللاعبين في تطبيقات الألعاب. وهذه طريقة سريعة وقابلة للتوسّع للتحقّق من أنّ لعبتك تعمل بشكل جيد لدى المستخدمين. عند اختيار إجراء اختبار Game Loop، يمكنك:

    • كتابة اختبارات متوافقة مع محرّك الألعاب

    • تجنُّب كتابة الرمز البرمجي نفسه لواجهات مستخدم أو أُطر اختبار مختلفة

    • يمكنك اختياريًا إنشاء حلقات متعدّدة لتشغيلها في عملية تنفيذ اختبار واحدة (يمكنك الانتقال إلى لمحة عن اختبارات حلقات الألعاب لمعرفة المزيد). يمكنك أيضًا تنظيم الحلقات باستخدام التصنيفات لتتبُّعها وإعادة تشغيل حلقات معيّنة.

    راجِع إجراء اختبار Game Loop للحصول على تعليمات حول إجراء هذا الاختبار باستخدام Test Lab.

أدوات لإجراء الاختبار

يمكنك اختيار الأدوات التالية لتنفيذ اختبارك:

  • يُنصح به للمستخدمين لأول مرة: تتيح لك وحدة تحكّم Firebase تحميل تطبيق وبدء الاختبار من متصفّح الويب. اطّلِع على الاختبار باستخدام وحدة تحكّم Firebase للحصول على تعليمات حول إجراء الاختبارات باستخدام هذه الأداة.

  • يتيح لك دمج Android Studio اختبار تطبيقك بدون مغادرة بيئة التطوير. اطّلِع على الاختبار باستخدام Android Studio للحصول على تعليمات حول إجراء الاختبارات باستخدام هذه الأداة.

  • تتيح لك واجهة سطر الأوامر gcloud إجراء الاختبارات من سطر الأوامر بشكل تفاعلي، كما أنّها مناسبة تمامًا لكتابة البرامج النصية كجزء من عملية الإنشاء والاختبار الآلية. راجِع الاختبار باستخدام gcloud CLI للحصول على تعليمات حول إجراء الاختبارات باستخدام هذه الأداة.

يمكنك أيضًا اختبار تطبيقك بدون أي تكلفة باستخدام Test Lab عند تحميل ملفات APK الخاصة بتطبيقك ونشرها على "متجر Play" باستخدام قناة الإصدار الأولي أو الإصدار التجريبي. لمزيد من المعلومات، يُرجى الاطّلاع على مقالتَي استخدام تقارير الإطلاق التجريبي لتحديد المشاكل واختبارات Robo.

الخطوة 2: اختيار جهاز الاختبار

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

الخطوة 3: مراجعة نتائج الاختبار

بغض النظر عن الطريقة التي تبدأ بها اختباراتك، تتم إدارة جميع نتائج الاختبارات من خلال Test Lab ويمكن الاطّلاع عليها على الإنترنت.

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

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

لمزيد من التفاصيل، يُرجى الاطّلاع على تحليل نتائج Firebase Test Lab.

عند بدء اختبار من Android Studio، يمكنك أيضًا مراجعة نتائج الاختبار من داخل بيئة التطوير.

تنظيف الجهاز

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

بالنسبة إلى الأجهزة الافتراضية التي يستخدمها Test Lab، يتم حذف مثيلات الأجهزة بعد استخدامها، وذلك لضمان استخدام مثيل جهاز افتراضي جديد في كل عملية اختبار.


Test Lab و"خدمات Google Play"

تعمل أجهزة Test Lab عادةً بأحدث إصدار من حزمة تطوير البرامج (SDK) لخدمات Google Play، ولكن قد يستغرق تحديث بعضها بضعة أيام بعد إصدار إصدار جديد من حزمة SDK. يُرجى العِلم أنّه قد تواجه مشاكل في التوافق مع بعض الأجهزة.

السماح للأجهزة الاختبارية بالوصول إلى خوادم الخلفية الخاصة

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

الإعلانات على الأجهزة الجوّالة

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

للتخفيف من هذه المشكلة، يمكنك اتّخاذ الإجراءات التالية:

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

  • إذا كان عليك استخدام إعلانات حقيقية في اختبارك، عليك إبلاغ مقدّمي خدمات الإعلان الرقمي الذين تتعامل معهم بفلترة الأرباح وجميع الزيارات ذات الصلة الناتجة من Test Lab باستخدام مجموعات عناوين IP أدناه. لست بحاجة إلى إرسال إشعار إلى مقدّمي الإعلانات التابعين لـ Google، إذ تتولّى Test Lab هذه المهمة نيابةً عنك.

عناوين IP التي تستخدمها أجهزة Test Lab

تنشأ جميع زيارات الشبكة التي تنشئها أجهزة Test Lab من كتل عناوين IP التالية. يمكنك أيضًا الوصول إلى هذه القائمة باستخدام gcloud beta firebase test ip-blocks list الأمر في gcloud CLI. ويتم تعديل القائمة مرة واحدة في السنة في المتوسط.

النظام الأساسي ونوع الجهاز مجموعة عناوين IP بتنسيق CIDR
أجهزة Android وiOS الفعلية، وأجهزة Arm الافتراضية

‫70.32.128.0/19 (تمت الإضافة في فبراير 2022)

108.177.6.0/23

‫108.177.18.192/26 (تمت الإضافة في فبراير 2022)

‫108.177.29.64/27 (تم التوسيع في فبراير 2022)

‫108.177.31.160/27 (تمت الإضافة في فبراير 2022)

‫199.36.156.8/29 (تمت الإضافة في 02-2022)

‫199.36.156.16/28 (تمت الإضافة في فبراير 2022)

‫209.85.131.0/27 (تمت الإضافة في فبراير 2022)

‫2001:4860:1008::/48 (تمت الإضافة في 02-2022)

‫2001:4860:1018::/48 (تمت الإضافة في 02-2022)

‫2001:4860:1019::/48 (تمت الإضافة في 02-2022)

‫2001:4860:1020::/48 (تمت الإضافة في 02-2022)

‫2001:4860:1022::/48 (تمت الإضافة في 02-2022)

‫70.32.128.48/28 (تمت الإضافة في أبريل 2024)

أجهزة Android الافتراضية (غير متوافقة مع بنية ARM)

‫34.68.194.64/29 (تمت الإضافة في نوفمبر 2019)

‫34.69.234.64/29 (تمت إضافته في نوفمبر 2019)

‫34.73.34.72/29 (تاريخ الإضافة: 11-2019)

‫34.73.178.72/29 (تمت إضافته في نوفمبر 2019)

‫34.74.10.72/29 (تمت الإضافة في فبراير 2022)

‫34.136.2.136/29 (تمت الإضافة في فبراير 2022)

‫34.136.50.136/29 (تمت الإضافة في فبراير 2022)

‫34.145.234.144/29 (تمت الإضافة في فبراير 2022)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

‫35.243.2.0/27 (تمت إضافته في يوليو 2019)

‫35.245.243.240/29 (تمت الإضافة في فبراير 2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

لم يعُد يتم استخدام حظر عناوين IP للأجهزة

‫74.125.122.32/29 (تمت الإزالة في شباط (فبراير) 2022)

‫216.239.44.24/29 (تمت الإزالة في فبراير 2022)