تتيح لك خدمة Firebase Test Lab اختبار جودة تطبيقك على مجموعة متنوّعة من الأجهزة و الإعدادات. يقدّم هذا الدليل نظرة عامة على المفاهيم الرئيسية في Test Lab's، والخدمات المتوفّرة على أجهزة iOS، وتعليمات حول كيفية بدء الاختبار.
للحصول على معلومات حول حصص Test Lab وخطط التسعير، يُرجى الاطّلاع على مقالة الاستخدام والحصص والأسعار.
المصطلحات والمفاهيم الرئيسية
عند إجراء اختبار أو مجموعة من حالات الاختبار على الأجهزة والإعدادات التي اخترتها، ينفّذ Test Lab الاختبار على تطبيقك على شكل دفعة، ثم يعرض النتائج في شكل مصفوفة اختبار.
الأجهزة × عمليات تنفيذ الاختبار = مصفوفة الاختبار
- الجهاز
- جهاز فعلي أو افتراضي (Android فقط) تجري عليه اختبارًا، مثل هاتف أو جهاز لوحي أو جهاز قابل للارتداء يتم تحديد الأجهزة في مصفوفة الاختبار حسب طراز الجهاز وإصدار نظام التشغيل واتجاه الشاشة والإعدادات الإقليمية (المعروفة أيضًا باسم الإعدادات الجغرافية واللغة).
- الاختبار، تنفيذ الاختبار
- اختبار (أو مجموعة من حالات الاختبار) سيتم إجراؤه على جهاز يمكنك إجراء اختبار واحد لكل جهاز، أو يمكنك اختياريًا تقسيم الاختبار وإجراء حالات الاختبار على أجهزة مختلفة.
- مصفوفة الاختبار
- تحتوي على حالات عمليات تنفيذ الاختبار ونتائجها. إذا تعذّر تنفيذ أي اختبار في مصفوفة، ستتعذّر المصفوفة بأكملها.
الخطوة 1: إعداد اختبارك لتحميله إلى Test Lab
يمكنك إجراء الاختبارات التالية باستخدام Test Lab. يُرجى العِلم أنّ جميع أنواع الاختبارات يمكن أن تستغرق ما يصل إلى 45 دقيقة كحد أقصى على الأجهزة الفعلية، وسيؤدي أي استثناء لم يتم رصده إلى تعذُّر الاختبار.
XCTest (بما في ذلك XCUITests): اختبار وحدة كتبته باستخدام إطار عمل XCTest. انتقِل إلى مقالة إنشاء اختبار XCTest للحصول على تعليمات حول تعديل اختبار XCTest لتشغيله باستخدام Test Lab.
اختبار حلقة اللعبة: اختبار يستخدم "وضعًا تجريبيًا" لـ محاكاة إجراءات اللاعبين في تطبيقات الألعاب. هذه طريقة سريعة وقابلة للتوسّع للتحقّق من أنّ أداء لعبتك جيد للمستخدمين. عند اختيار إجراء اختبار حلقة اللعبة، يمكنك إجراء ما يلي:
كتابة اختبارات خاصة بمحرّك الألعاب
تجنُّب كتابة الرمز نفسه لواجهات مستخدم مختلفة أو أُطر اختبار مختلفة
إنشاء حلقات متعدّدة اختياريًا لإجرائها في عملية تنفيذ اختبار واحدة يمكنك أيضًا تنظيم الحلقات باستخدام التصنيفات لتتبُّعها وإعادة إجراء حلقات معيّنة.
انتقِل إلى مقالة إجراء اختبار حلقة اللعبة للحصول على تعليمات حول كيفية إجراء اختبارك في Test Lab.
الخطوة 2: اختيار أداة لإجراء الاختبار
يمكنك اختيار الأدوات التالية لإجراء اختبارك:
تتيح لك Firebase وحدة تحكّم تحميل تطبيق وبدء الاختبار من أي مكان. اطّلِع على مقالة الاختبار باستخدام وحدة التحكّم Firebaseللحصول على تعليمات حول استخدام هذه الأداة.
تتيح لك واجهة سطر الأوامر (CLI) في gcloud إجراء الاختبارات من سطر الأوامر بشكل تفاعلي، كما أنّها مناسبة تمامًا لكتابة النصوص البرمجية كجزء من عملية الإنشاء والاختبار التلقائية. اطّلِع على مقالة الاختبار باستخدام واجهة سطر الأوامر gcloud للحصول على تعليمات حول استخدام هذه الأداة.
قبل إجراء الاختبار على أجهزة فعلية، عليك إجراؤه محليًا على محاكي للتأكّد من أنّه يعمل على النحو المطلوب. اطّلِع على مقالة الاختبار محليًا للحصول على التعليمات.
الخطوة 3: تحديد أجهزة الاختبار
باستخدام Test Lab، يمكنك إجراء اختبارك على تطبيقك على مجموعة كبيرة من أجهزة iOS وطرازاتها المستضافة في مركز بيانات Google. لمزيد من المعلومات، اطّلِع على مقالة الأجهزة المتاحة.
الخطوة 4: مراجعة نتائج الاختبار
بغض النظر عن كيفية بدء الاختبارات، يدير Test Lab جميع نتائج الاختبارات ويمكنك الاطّلاع عليها على الإنترنت.
يتم تلقائيًا تخزين ملخّص نتائج الاختبار ويمكنك الاطّلاع عليه في وحدة تحكّم Firebase. يحتوي هذا الملخّص على البيانات الأكثر صلة باختبارك، بما في ذلك الفيديوهات ولقطات الشاشة الخاصة بحالات الاختبار، وعدد الاختبارات التي نجحت أو تعذّرت أو حصلت على نتائج غير موثوق بها، وغير ذلك.
تحتوي نتائج الاختبار الأولية على سجلّات الاختبار وتفاصيل تعذُّر التطبيق، ويتم تخزينها تلقائيًا في حزمة Google Cloud. إذا حدّدت حزمة، ستكون مسؤولاً عن تكلفة التخزين. إذا لم تحدّد حزمة، Test Lab ينشئ لك حزمة بدون أي تكلفة.
لمزيد من التفاصيل، اطّلِع على مقالة تحليل النتائج.Firebase Test Lab
تنظيف الجهاز
تأخذ Google أمان بيانات تطبيقك على محمل الجد. نتبع أفضل الممارسات المتوافقة مع معايير المجال لإزالة بيانات التطبيق وإعادة ضبط إعدادات النظام للأجهزة الفعلية بعد كل عملية اختبار لضمان استعدادها لإجراء اختبارات جديدة. بالنسبة إلى الأجهزة التي يمكننا تثبيت صورة استرداد مخصّصة عليها، نتخذ خطوة إضافية من خلال تثبيت ذاكرة ROM على هذه الأجهزة بين عمليات الاختبار.
بالنسبة إلى الأجهزة الافتراضية التي يستخدمها Test Lab، يتم حذف مثيلات الأجهزة بعد استخدامها لكي تستخدم كل عملية اختبار مثيلاً جديدًا لجهاز افتراضي.
السماح لأجهزة Test Lab بالوصول إلى خوادم الخلفية الخاصة
تحتاج بعض التطبيقات على الأجهزة الجوّالة إلى التواصل مع خدمات الخلفية الخاصة لتعمل بشكل صحيح أثناء الاختبار. إذا كانت خوادم الخلفية محمية بقواعد جدار الحماية ، يمكنك السماح بالوصول إلى الأجهزة الفعلية والافتراضية في Test Lab's باستخدام مجموعات عناوين 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 (تمت إضافتها في فبراير 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) |
| أجهزة 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) |