تتيح لك Firebase Test Lab اختبار تطبيقك على مجموعة من الأجهزة والإعدادات. يقدّم دليل "البدء" هذا مسار تنفيذ يمكنك اتّباعه، بالإضافة إلى مقدّمة عن عروض Test Lab على Android.
للحصول على معلومات حول حصص Test Lab وخطط الأسعار، يُرجى الاطّلاع على الاستخدام والحصص والأسعار.
المفاهيم الرئيسيّة
عند إجراء اختبار أو مجموعة من حالات الاختبار على الأجهزة والإعدادات التي اخترتها، ينفّذ Test Lab الاختبار على تطبيقك في مجموعة، ثم يعرض النتائج على شكل مصفوفة اختبار.
الأجهزة × عمليات تنفيذ الاختبار = مصفوفة الاختبار
- الجهاز
- جهاز فعلي أو افتراضي (على Android فقط) يمكنك إجراء اختبار عليه، مثل هاتف أو جهاز لوحي أو جهاز قابل للارتداء يتم تحديد الأجهزة في مصفوفة الاختبار من خلال طراز الجهاز وإصدار نظام التشغيل واتجاه الشاشة والإعدادات المحلية (المعروفة أيضًا باسم إعدادات الجغرافيا واللغة).
- الاختبار، تنفيذ الاختبار
- اختبار (أو مجموعة من حالات الاختبار) سيتم تنفيذه على جهاز يمكنك إجراء اختبار واحد لكل جهاز، أو يمكنك تقسيم الاختبار وتشغيل حالات الاختبار على أجهزة مختلفة.
- مصفوفة الاختبار
- يحتوي على الحالات ونتائج الاختبارات لعمليات تنفيذ الاختبارات. إذا تعذّر تنفيذ أي اختبار في مصفوفة، ستتعذّر المصفوفة بأكملها.
الخطوة 1: تحضير الاختبار لتحميله إلى Test Lab
أنواع الاختبارات المتاحة
يمكنك إجراء الاختبارات التالية باستخدام Test Lab. يُرجى العِلم أنّ جميع أنواع الاختبارات تقتصر على 45 دقيقة على الأجهزة الفعلية و60 دقيقة على الأجهزة الافتراضية. سيؤدي أي استثناء لم يتم اكتشافه إلى تعذُّر الاختبار.
اختبار لقياس حالة التطبيق أو اختبار الوحدة لقياس حالة التطبيق: هو اختبار كتبته باستخدام إطارَي العمل Espresso أو UI Automator. باستخدام هذا الاختبار، يمكنك تقديم تأكيدات صريحة بشأن حالة تطبيقك للتحقّق من صحة الوظائف باستخدام واجهات برمجة التطبيقات في AndroidJUnitRunner.
انتقِل إلى إجراء اختبار لقياس حالة التطبيق للحصول على تعليمات حول كيفية إعداد الاختبار لتشغيله في Test Lab.
راجِع مستندات "مطوّرو تطبيقات Android" للحصول على تعليمات حول كيفية إنشاء اختبار لقياس حالة التطبيق.
اختبار Robo: هو اختبار آلي يحلّل واجهة المستخدم في تطبيقك، ثم يستكشفها بشكل منهجي من خلال محاكاة أنشطة المستخدمين، بدون الحاجة إلى كتابة أي رمز. يمكنك الانتقال إلى مقالة لمحة عن اختبارات Robo للحصول على مزيد من المعلومات.
اختبار حلقة الألعاب: هو اختبار يستخدم "وضعًا تجريبيًا" لمحاكاة إجراءات اللاعبين في تطبيقات الألعاب. هذه طريقة سريعة وقابلة للتوسّع للتحقّق من أنّ لعبتك تقدّم أداءً جيدًا للمستخدمين. عند اختيار إجراء اختبار حلقة الألعاب، يمكنك:
كتابة اختبارات متوافقة مع محرّك الألعاب
تجنُّب كتابة الرمز البرمجي نفسه لواجهات مستخدم أو أُطر اختبار مختلفة
يمكنك اختياريًا إنشاء حلقات متعدّدة لتشغيلها في تنفيذ تجريبي واحد (يمكنك الانتقال إلى لمحة عن اختبارات حلقات الألعاب لمعرفة المزيد). يمكنك أيضًا تنظيم الحلقات باستخدام التصنيفات لتتمكّن من تتبُّعها وإعادة تشغيل حلقات معيّنة.
اطّلِع على إجراء اختبار "حلقة الألعاب" للحصول على تعليمات حول إجراء هذا الاختبار باستخدام Test Lab.
أدوات لإجراء الاختبار
يمكنك اختيار الأدوات التالية لتنفيذ اختبارك:
يُنصح به للمستخدمين لأول مرة: تتيح لك وحدة تحكّم Firebase تحميل تطبيق وبدء الاختبار من متصفّح الويب. اطّلِع على الاختبار باستخدام وحدة تحكّم Firebase للحصول على تعليمات حول إجراء الاختبارات باستخدام هذه الأداة.
يتيح لك دمج أداة استوديو Android اختبار تطبيقك بدون مغادرة بيئة التطوير. اطّلِع على الاختبار باستخدام "استوديو Android" للحصول على تعليمات حول إجراء الاختبارات باستخدام هذه الأداة.
تتيح لك واجهة سطر الأوامر gcloud إجراء الاختبارات من سطر الأوامر بشكل تفاعلي، كما أنّها مناسبة تمامًا لإنشاء البرامج النصية كجزء من عملية الإنشاء والاختبار المبرمَجة. اطّلِع على الاختبار باستخدام gcloud CLI للحصول على تعليمات حول إجراء الاختبارات باستخدام هذه الأداة.
يمكنك أيضًا اختبار تطبيقك بدون أي تكلفة باستخدام Test Lab عند تحميل ملفات APK الخاصة بتطبيقك ونشرها على متجر Google Play باستخدام قناة الإصدار الأولي أو الإصدار التجريبي. لمزيد من المعلومات، يُرجى الاطّلاع على مقالتَي استخدام "تقارير الإطلاق التجريبي" لتحديد المشاكل واختبارات Robo.
الخطوة 2: اختيار جهاز الاختبار
تتيح Test Lab إجراء الاختبارات على العديد من العلامات التجارية والطُرز من أجهزة Android التي تم تثبيتها وتشغيلها في مركز بيانات Google. يساعدك الاختبار على الأجهزة التي تعمل بالإصدار Test Lab في رصد المشاكل التي قد لا تحدث عند اختبار تطبيقك باستخدام المحاكيات في "استوديو Android". لمزيد من المعلومات، يُرجى الاطّلاع على الأجهزة المتاحة.
الخطوة 3: مراجعة نتائج الاختبار
بغض النظر عن الطريقة التي تبدأ بها اختباراتك، تتم إدارة جميع نتائج الاختبارات من خلال Test Lab ويمكن الاطّلاع عليها على الإنترنت.
يتم تلقائيًا تخزين ملخّص نتائج الاختبار ويمكن الاطّلاع عليه في وحدة تحكّم Firebase. يحتوي هذا التقرير على البيانات الأكثر صلةً باختبارك، بما في ذلك الفيديوهات الخاصة بحالات الاختبار، ولقطات الشاشة، وعدد الاختبارات التي تم اجتيازها أو تعذّر اجتيازها أو التي أسفرت عن نتائج غير مستقرة، وغير ذلك.
تحتوي نتائج الاختبار الأولية على سجلات الاختبار وتفاصيل تعذُّر تشغيل التطبيق، ويتم تخزينها تلقائيًا في حزمة Google Cloud. في حال تحديد حزمة، ستتحمّل تكلفة مساحة التخزين. في حال عدم تحديد حزمة، ستنشئ لك Test Lab حزمة بدون أي تكلفة.
لمزيد من التفاصيل، يُرجى الاطّلاع على تحليل نتائج Firebase Test Lab.
عند بدء اختبار من استوديو Android، يمكنك أيضًا مراجعة نتائج الاختبار من داخل بيئة التطوير.
تنظيف الجهاز
تتعامل 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. ويتم تعديل القائمة مرة واحدة في السنة في المتوسط.
| النظام الأساسي ونوع الجهاز | حظر عناوين IP بتنسيق CIDR |
|---|---|
| أجهزة Android وiOS الفعلية، وأجهزة Arm الافتراضية |
70.32.128.0/19 (تمت الإضافة في 02-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 (تاريخ الإضافة: 02-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) 2001:4860:101d::/48 (تمت إضافته في 10-2025) 2001:4860:101e::/48 (تمت إضافته في 10-2025) 2001:4860:1031::/48 (تمت الإضافة في 10-2025) 70.32.128.48/28 (تمت الإضافة في أبريل 2024) 70.32.150.192/27 (تمت الإضافة في سبتمبر 2025) 108.177.6.0/27 (تمت الإضافة في سبتمبر 2025) 108.177.24.160/27 (تمت الإضافة في سبتمبر 2025) 108.177.29.0/27 (تمت الإضافة في 09-2025) 108.177.25.128/27 (تمت الإضافة في مايو 2026) 108.177.26.128/26 (تمت الإضافة في مايو 2026) 108.177.29.192/26 (تمت الإضافة في مايو 2026) 172.217.120.64/26 (تمت الإضافة في مايو 2026) 172.217.120.128/26 (تمت الإضافة في مايو 2026) 2001:4860:1037::/48 (تمت الإضافة في مايو 2026) 2001:4860:1038::/48 (تمت الإضافة في مايو 2026) 2001:4860:103a::/48 (تمت إضافته في مايو 2026) |
| أجهزة Android الافتراضية (غير Arm) |
34.68.194.64/29 (تمت إضافته في نوفمبر 2019) 34.69.234.64/29 (تمت إضافته في نوفمبر 2019) 34.73.34.72/29 (تمت الإضافة في نوفمبر 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 (تمت الإضافة في 7-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 (تمت الإزالة في 02-2022) 216.239.44.24/29 (تمت الإزالة في فبراير 2022) |