شروع به کار با Firebase Test Lab برای iOS

‫Firebase Test Lab به شما امکان می‌دهد کیفیت برنامه‌تان را در طیف وسیعی از دستگاه‌ها و پیکربندی‌ها آزمایش کنید. این راهنما نمای کلی از مفاهیم کلیدی Test Lab، پیشنهادهای iOS، و دستورالعمل‌هایی درباره نحوه شروع آزمایش ارائه می‌دهد.

برای کسب اطلاعات درباره سهمیه‌ها و طرح‌های قیمت‌گذاری Test Lab، به استفاده، سهمیه‌ها، و قیمت‌گذاری مراجعه کنید.

مفاهیم و اصطلاحات کلیدی

وقتی آزمایشی یا مجموعه‌ای از موارد آزمایشی را دربرابر دستگاه‌ها و پیکربندی‌هایی که انتخاب کرده‌اید اجرا می‌کنید، Test Lab آزمایش را به‌صورت دسته‌ای دربرابر برنامه‌تان اجرا می‌کند، سپس نتایج را به‌صورت ماتریس آزمایش نمایش می‌دهد.

دستگاه‌ها × اجرای آزمایش = ماتریس آزمایش

دستگاه
دستگاه فیزیکی یا مجازی (فقط Android) که در آن آزمایش اجرا می‌کنید، مثل تلفن، رایانه لوحی، یا دستگاه پوشیدنی. دستگاه‌های موجود در ماتریس آزمایش با مدل دستگاه، نسخه سیستم‌عامل، جهت صفحه، و محل (که با نام تنظیمات زبان و جغرافیا نیز شناخته می‌شود) شناسایی می‌شوند.
آزمایش، اجرای آزمایش
آزمایشی (یا مجموعه‌ای از چارچوب‌های تست) که باید در دستگاه اجرا شود. می‌توانید یک آزمایش برای هر دستگاه اجرا کنید، یا به‌صورت اختیاری آزمایش را تکه‌تکه کنید و موارد آزمایشی آن را در دستگاه‌های مختلف اجرا کنید.
ماتریس آزمایش
شامل وضعیت‌ها و نتایج آزمایش برای اجرای آزمایش‌های شما است. اگر هریک از اجراهای آزمایشی در ماتریس ناموفق باشد، کل ماتریس ناموفق خواهد بود.

مرحله ۱: آماده کردن آزمون برای بارگذاری در Test Lab

می‌توانید آزمایش‌های زیر را با Test Lab اجرا کنید. توجه داشته باشید که همه انواع آزمایش می‌توانند حداکثر تا ۴۵ دقیقه در دستگاه‌های فیزیکی اجرا شوند، و هر استثنای دریافت‌نشده‌ای باعث می‌شود آزمایش ناموفق شود.

  • XCTest (شامل XCUITests): آزمون واحدی که بااستفاده از چارچوب XCTest نوشته‌اید. برای دریافت دستورالعمل‌های مربوط به اصلاح XCTest برای اجرا با Test Lab، به ایجاد XCTest مراجعه کنید.

  • آزمایش روبو: آزمایشی خودکارسازی‌شده که رابط کاربری برنامه‌تان را تجزیه‌وتحلیل می‌کند و سپس با شبیه‌سازی فعالیت‌های کاربر، آن را به‌روش سیستماتیک کاوش می‌کند، بدون اینکه نیاز باشد کدی بنویسید. برای کسب اطلاعات بیشتر، به درباره آزمایش‌های Robo مراجعه کنید.

  • آزمایش «حلقه بازی»: آزمایشی که از «حالت نمایشی» برای شبیه‌سازی کنش‌های بازیکن در برنامه‌های بازی استفاده می‌کند. این روشی سریع و مقیاس‌پذیر برای تأیید عملکرد خوب بازی‌تان برای کاربران است. وقتی انتخاب می‌کنید که آزمایش حلقه بازی را اجرا کنید، می‌توانید:

    • آزمایش‌های بومی موتور بازی خود را بنویسید.

    • از نوشتن کد یکسان برای رابط‌های کاربری مختلف یا چارچوب‌های آزمایش خودداری کنید.

    • به‌صورت اختیاری، چندین حلقه ایجاد کنید تا در یک اجرای آزمایش واحد اجرا شوند. همچنین می‌توانید بااستفاده از برچسب‌ها حلقه‌ها را سازمان‌دهی کنید تا بتوانید آن‌ها را پیگیری کنید و حلقه‌های خاصی را دوباره اجرا کنید.

    برای دریافت دستورالعمل‌های نحوه اجرای آزمایش در Test Lab، به اجرای آزمایش حلقه بازی مراجعه کنید.

مرحله ۲: ابزاری برای اجرای آزمایش انتخاب کنید

می‌توانید ابزارهای زیر را برای اجرای آزمایش انتخاب کنید:

  • کنسول Firebase به شما امکان می‌دهد برنامه را بارگذاری کنید و آزمایش را از هر جایی شروع کنید. برای دریافت دستورالعمل‌های استفاده از این ابزار، آزمایش با کنسول Firebase را ببینید.

  • میانای خط فرمان (CLI) gcloud به شما امکان می‌دهد آزمایش‌ها را به‌صورت تعاملی از خط فرمان اجرا کنید و همچنین برای نوشتن کد به‌عنوان بخشی از فرایند ساخت و آزمایش خودکارسازی‌شده شما مناسب است. برای دریافت دستورالعمل‌های استفاده از این ابزار، به آزمایش با gcloud CLI مراجعه کنید.

  • قبل‌از آزمایش کردن در دستگاه‌های واقعی، آزمایشتان را به‌صورت محلی در شبیه‌ساز اجرا کنید تا مطمئن شوید که طبق انتظار عمل می‌کند. برای دستورالعمل‌ها، آزمایش محلی را ببینید.

مرحله ۳: مشخص کردن دستگاه‌های آزمایش

با Test Lab، می‌توانید آزمایشتان را دربرابر برنامه‌تان در طیف گسترده‌ای از دستگاه‌ها و مدل‌های iOS میزبانی‌شده در مرکز داده Google اجرا کنید. برای اطلاعات بیشتر، دستگاه‌های دردسترس را ببینید.

مرحله ۴: بررسی نتایج آزمایش

صرف‌نظر از اینکه چگونه آزمایش‌هایتان را شروع می‌کنید، همه نتایج آزمایش شما توسط Test Lab مدیریت می‌شود و می‌توانید آن‌ها را به‌صورت آنلاین مشاهده کنید.

خلاصه نتیجه آزمایش به‌طور خودکار ذخیره می‌شود و در کنسول Firebase قابل‌مشاهده است. این گزارش حاوی مربوط‌ترین داده‌ها برای آزمایش شما است، ازجمله ویدیوهای مختص مورد آزمایش، نماگرفت‌ها، تعداد آزمایش‌هایی که قبول شده‌اند، رد شده‌اند، یا نتایج متناقض داشته‌اند، و موارد دیگر.

نتایج آزمون خام شامل گزارش‌های آزمون و جزئیات خرابی برنامه است و به‌طور خودکار در یک مخزن Google Cloud ذخیره می‌شود. اگر سطلی را مشخص کنید، مسئولیت هزینه فضای ذخیره‌سازی برعهده شما است. اگر سطلی مشخص نکنید، Test Lab بدون هزینه برایتان سطلی ایجاد می‌کند.

برای جزئیات بیشتر، به تجزیه‌وتحلیل نتایج Firebase Test Lab مراجعه کنید.

پاک‌سازی دستگاه

‫Google امنیت داده‌های برنامه شما را بسیار جدی می‌گیرد. ما از روال‌های مطلوب استاندارد صنعت برای برداشتن داده‌های برنامه و بازنشانی تنظیمات سیستم برای دستگاه‌های فیزیکی پس‌از هر اجرای آزمایشی پیروی می‌کنیم تا مطمئن شویم دستگاه‌ها برای اجرای آزمایش‌های جدید آماده هستند. برای دستگاه‌هایی که می‌توانیم آن‌ها را با تصویر بازیابی سفارشی فلش کنیم، یک گام فراتر می‌رویم و این دستگاه‌ها را بین اجرای آزمایش‌ها فلش می‌کنیم.

برای دستگاه‌های مجازی که Test Lab استفاده می‌کند، نمونه‌های دستگاه پس‌از استفاده شدن حذف می‌شوند تا هر اجرای آزمایشی از نمونه دستگاه مجازی جدیدی استفاده کند.


اجازه دادن به Test Lab دستگاه برای دسترسی به سرورهای پشتیبان خصوصی

برخی‌از برنامه‌های تلفن همراه برای عملکرد صحیح درطول آزمایش باید با سرویس‌های پشتیبان خصوصی ارتباط برقرار کنند. اگر سرورهای زیرینه شما با قوانین دیوار آتش محافظت می‌شوند، می‌توانید بااستفاده از بلوک‌های نشانی IP زیر برای باز کردن مسیرها ازطریق دیوار آتش، دسترسی به دستگاه‌های فیزیکی و مجازی Test Lab را مجاز کنید.

تبلیغات تلفن همراه

‫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 (اضافه‌شده در ۰۲-۲۰۲۲)

108.177.6.0/23

‫‎108.177.18.192/26 (اضافه‌شده در ۰۲-۲۰۲۲)

‫108.177.29.64/27 (ازهم بازشده در ۰۲-۲۰۲۲)

‫‎108.177.31.160/27 (اضافه‌شده در ۰۲-۲۰۲۲)

‫199.36.156.8/29 (اضافه‌شده در ۰۲-۲۰۲۲)

‫‎199.36.156.16/28 (اضافه‌شده در ۰۲-۲۰۲۲)

‫209.85.131.0/27 (اضافه‌شده در ۰۲-۲۰۲۲)

‫2001:4860:1008::/48 (افزوده‌شده در ۰۲-۲۰۲۲)

‫2001:4860:1018::/48 (اضافه‌شده در ۰۲-۲۰۲۲)

‫2001:4860:1019::/48 (اضافه‌شده در ۰۲-۲۰۲۲)

‫2001:4860:1020::/48 (اضافه‌شده در ۰۲-۲۰۲۲)

2001:4860:1022::/48 (اضافه‌شده در ۰۲-۲۰۲۲)

‫2001:4860:101d::/48 (اضافه‌شده در ۱۰-۲۰۲۵)

‫2001:4860:101e::/48 (اضافه‌شده در ۱۰-۲۰۲۵)

‫2001:4860:1031::/48 (اضافه شده در ۱۰-۲۰۲۵)

‫‎70.32.128.48/28 (اضافه‌شده در آوریل ۲۰۲۴)

‫70.32.150.192/27 (اضافه‌شده در ۰۹-۲۰۲۵)

‫108.177.6.0/27 (اضافه شده در ۰۹-۲۰۲۵)

‫‎108.177.24.160/27 (اضافه شده در ۰۹-۲۰۲۵)

‫108.177.29.0/27 (اضافه شده در ۰۹-۲۰۲۵)

‫‎108.177.25.128/27 (اضافه شده در ۰۵-۲۰۲۶)

‫108.177.26.128/26 (اضافه شده در ۰۵-۲۰۲۶)

‫‎108.177.29.192/26 (اضافه‌شده در ۰۵-۲۰۲۶)

‫172.217.120.64/26 (اضافه شده در ۰۵-۲۰۲۶)

‫‎172.217.120.128/26 (اضافه شده در ۰۵-۲۰۲۶)

‫2001:4860:1037::/48 (افزوده شده در ۰۵-۲۰۲۶)

‫2001:4860:1038::/48 (افزوده شده در ۰۵-۲۰۲۶)

‫2001:4860:103a::/48 (اضافه‌شده در ۰۵-۲۰۲۶)

دستگاه‌های مجازی Android (غیر Arm)

‫‎34.68.194.64/29 (اضافه‌شده در ۱۱-۲۰۱۹)

‫‎34.69.234.64/29 (اضافه شده در ۱۱-۲۰۱۹)

‫34.73.34.72/29 (اضافه‌شده در ۱۱-۲۰۱۹)

‫34.73.178.72/29 (اضافه شده در ۱۱-۲۰۱۹)

‫34.74.10.72/29 (اضافه‌شده در ۰۲-۲۰۲۲)

‫34.136.2.136/29 (اضافه شده در ۰۲-۲۰۲۲)

‫34.136.50.136/29 (افزوده شده در ۰۲-۲۰۲۲)

‫34.145.234.144/29 (اضافه شده در ۰۲-۲۰۲۲)

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 (اضافه شده در ۷-۲۰۱۹)

‫35.245.243.240/29 (اضافه‌شده در ۰۲-۲۰۲۲)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

دستگاه دیگر از مسدودسازی IP استفاده نمی‌کند

‫74.125.122.32/29 (برداشته‌شده در ۰۲-۲۰۲۲)

‫216.239.44.24/29 (برداشته‌شده در ۰۲-۲۰۲۲)