تتيح لك خدمة 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 للحصول على تعليمات حول استخدام هذه الأداة.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) |