يتيح لك Firebase Test Lab اختبار جودة تطبيقك على مجموعة من الأجهزة والإعدادات. يقدّم هذا الدليل نظرة عامة على المفاهيم الرئيسية في Test Lab، والعروض المتاحة على أجهزة iOS، وتعليمات حول كيفية بدء الاختبار.
للحصول على معلومات حول حصص Test Lab وخطط الأسعار، يُرجى الاطّلاع على الاستخدام والحصص والأسعار.
المفاهيم والمصطلحات الرئيسية
عند إجراء اختبار أو مجموعة من إطارات الاختبار على الأجهزة والإعدادات التي اخترتها، يشغّل Test Lab الاختبار على تطبيقك في دفعة واحدة، ثم يعرض النتائج في شكل مصفوفة تجريبية.
الأجهزة × عمليات تنفيذ الاختبار = مصفوفة الاختبار
- الجهاز
- هو جهاز مادي أو افتراضي (يعمل بنظام التشغيل Android فقط) يتم إجراء الاختبار عليه، مثل هاتف أو جهاز لوحي أو جهاز قابل للارتداء. يتم تحديد الأجهزة في مصفوفة تجريبية من خلال طراز الجهاز وإصدار نظام التشغيل واتجاه الشاشة واللغة (المعروفة أيضًا باسم إعدادات الموقع الجغرافي واللغة).
- الاختبار، تنفيذ الاختبار
- اختبار (أو مجموعة من إطارات الاختبار) يتم إجراؤه على جهاز. ويمكنك إجراء اختبار واحد لكل جهاز، أو تقسيم الاختبار وإجراء أُطر الاختبار على أجهزة مختلفة.
- مصفوفة تجريبية
- يحتوي على الحالات ونتائج الاختبارات لعمليات التنفيذ التجريبي. إذا تعذّر تنفيذ أي اختبار في مصفوفة، ستتعذّر المصفوفة بأكملها.
الخطوة 1: تجهيز الاختبار لتحميله إلى Test Lab
يمكنك إجراء الاختبارات التالية باستخدام Test Lab. يُرجى العِلم أنّ جميع أنواع الاختبارات يمكن تشغيلها لمدة تصل إلى 45 دقيقة كحد أقصى على الأجهزة الفعلية، وسيؤدي أي استثناء لم يتم رصده إلى تعذُّر الاختبار.
XCTest (بما في ذلك XCUITests): اختبار وحدة كتبته باستخدام إطار عمل XCTest. انتقِل إلى إنشاء اختبار XCTest للحصول على تعليمات حول تعديل اختبار XCTest لتشغيله باستخدام Test Lab.
اختبار Robo: هو اختبار آلي يحلّل واجهة المستخدم في تطبيقك ثم يستكشفها بشكل منهجي من خلال محاكاة أنشطة المستخدمين، بدون الحاجة إلى كتابة أي رمز برمجي. لمزيد من المعلومات، يُرجى الانتقال إلى مقالة لمحة عن اختبارات Robo.
اختبار حلقة الألعاب: اختبار يستخدم "الوضع التجريبي" لمحاكاة إجراءات اللاعبين في الألعاب على الأجهزة الجوّالة. وهذه طريقة سريعة وقابلة للتوسّع للتحقّق من أنّ لعبتك تعمل بشكل جيد للمستخدمين. عند اختيار إجراء اختبار حلقة الألعاب، يمكنك:
كتابة اختبارات مخصّصة لمحرّك لعبتك
تجنَّب كتابة الرمز نفسه لواجهات مستخدم أو أُطر عمل اختبارية مختلفة.
يمكنك إنشاء تكرارات متعددة لتشغيلها في تنفيذ تجريبي واحد. يمكنك أيضًا تنظيم التكرارات باستخدام التصنيفات لتتمكّن من تتبُّعها وإعادة تشغيل تكرارات معيّنة.
انتقِل إلى صفحة إجراء اختبار حلقة الألعاب للحصول على تعليمات حول كيفية إجراء الاختبار في Test Lab.
الخطوة 2: اختيار أداة لإجراء الاختبار
يمكنك اختيار الأدوات التالية لإجراء الاختبار:
تتيح لك وحدة تحكّم Firebase تحميل تطبيق وبدء اختباره من أي مكان. يُرجى الاطّلاع على الاختبار باستخدام وحدة تحكّم Firebase للحصول على تعليمات حول كيفية استخدام هذه الأداة.
تتيح لك واجهة سطر الأوامر (CLI) في gcloud إجراء الاختبارات من سطر الأوامر بشكل تفاعلي، وهي مناسبة أيضًا لكتابة النصوص البرمجية كجزء من عملية الإنشاء والاختبار الآلية. يُرجى الاطّلاع على الاختبار باستخدام gcloud CLI للحصول على تعليمات حول استخدام هذه الأداة.
قبل إجراء الاختبار على أجهزة حقيقية، يمكنك إجراء الاختبار محليًا على محاكي للتأكّد من أنّه يعمل على النحو المنشود. يمكنك الاطّلاع على الاختبار على الجهاز للحصول على التعليمات.
الخطوة 3: تحديد أجهزة الاختبار
باستخدام Test Lab، يمكنك إجراء الاختبار على تطبيقك على مجموعة كبيرة من أجهزة iOS والطُرز المستضافة في مركز بيانات Google. لمزيد من المعلومات، يُرجى الاطّلاع على الأجهزة المتاحة.
الخطوة 4: مراجعة نتائج الاختبار
بغض النظر عن كيفية بدء الاختبارات، تتم إدارة جميع نتائج الاختبارات من خلال Test Lab ويمكن عرضها على الإنترنت.
يتم تخزين ملخّص نتائج الاختبار تلقائيًا ويمكن الاطّلاع عليه في وحدة تحكّم "Firebase". وتحتوي على البيانات الأكثر صلة باختبارك، بما في ذلك الفيديوهات الخاصة بإطار الاختبار ولقطات الشاشة وعدد الاختبارات التي نجحت أو فشلت أو حصلت على نتائج متقطعة والمزيد.
تحتوي نتائج الاختبار الأولية على سجلّات الاختبار وتفاصيل تعطُّل التطبيق، ويتم تخزينها تلقائيًا في حزمة Google Cloud. في حال تحديد حزمة، ستتحمّل تكلفة مساحة التخزين. في حال عدم تحديد حزمة، ستنشئ "Test Lab" حزمة لك بدون أي تكلفة.
لمزيد من التفاصيل، يُرجى الاطّلاع على تحليل نتائج "Firebase Test Lab".
إخلاء مساحة على الجهاز
تتعامل Google مع أمان بيانات تطبيقك بمنتهى الجدية. نتبع أفضل الممارسات المتّبعة في المجال لإزالة بيانات التطبيق وإعادة ضبط إعدادات النظام للأجهزة الفعلية بعد كل عملية اختبار للتأكّد من أنّها جاهزة لإجراء اختبارات جديدة. بالنسبة إلى الأجهزة التي يمكننا تثبيت صورة استرداد الإعدادات الأصلية المخصّصة عليها، ننتقل إلى خطوة أخرى من خلال تثبيت هذه الأجهزة بين عمليات الاختبار.
بالنسبة إلى الأجهزة الافتراضية التي تستخدمها Test Lab، يتم حذف مثيلات الأجهزة بعد استخدامها بحيث تستخدم كل عملية اختبار مثيل جهاز افتراضي جديد.
السماح لأجهزة Test Lab بالوصول إلى خوادم الخلفية الخاصة
تحتاج بعض تطبيقات الأجهزة الجوّالة إلى الاتصال بخدمات الخلفية الخاصة لتعمل بشكل صحيح أثناء الاختبار. إذا كانت خوادم الخلفية محمية بقواعد جدار الحماية، يمكنك السماح بالوصول إلى أجهزة 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 (تمت إضافته في شباط/فبراير 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 (تمت إضافته في شباط/فبراير 2022) 199.36.156.16/28 (تمت إضافته في شباط/فبراير 2022) 209.85.131.0/27 (تمت إضافته في شباط/فبراير 2022) 2001:4860:1008::/48 (تمت إضافته في شباط/فبراير 2022) 2001:4860:1018::/48 (تمت إضافته في شباط/فبراير 2022) 2001:4860:1019::/48 (تمت إضافته في شباط/فبراير 2022) 2001:4860:1020::/48 (تمت إضافته في 02-2022) 2001:4860:1022::/48 (تمت إضافته في شباط/فبراير 2022) 2001:4860:101d::/48 (تمت إضافته في أكتوبر 2025) 2001:4860:101e::/48 (تمت إضافته في أكتوبر 2025) 2001:4860:1031::/48 (تمت إضافته في أكتوبر 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 (تمت إضافته في سبتمبر 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 (تمت إضافته في تموز/يوليو 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) |