Firebase Test Lab به شما امکان می دهد برنامه خود را با کیفیت روی طیف وسیعی از دستگاه ها و پیکربندی ها آزمایش کنید. این راهنما یک نمای کلی از مفاهیم کلیدی Test Lab ، پیشنهادات iOS و دستورالعملهای نحوه شروع آزمایش را ارائه میدهد.
برای اطلاعات در مورد سهمیه Test Lab و طرحهای قیمتگذاری، استفاده، سهمیهها و قیمتگذاری را ببینید.
مفاهیم و اصطلاحات کلیدی
وقتی یک آزمایش یا مجموعهای از موارد آزمایشی را بر روی دستگاهها و پیکربندیهایی که انتخاب کردهاید اجرا میکنید، Test Lab آزمایش را روی برنامه شما به صورت دستهای اجرا میکند، سپس نتایج را بهعنوان یک ماتریس آزمایشی نمایش میدهد.
دستگاه ها × اجرای آزمایش = ماتریس تست
- دستگاه
- یک دستگاه فیزیکی یا مجازی (فقط اندروید) که آزمایشی را روی آن انجام میدهید، مانند تلفن، رایانه لوحی یا دستگاه پوشیدنی. دستگاههای موجود در یک ماتریس آزمایشی بر اساس مدل دستگاه، نسخه سیستمعامل، جهتگیری صفحه، و موقعیت مکانی (که بهعنوان تنظیمات جغرافیایی و زبان نیز شناخته میشود) شناسایی میشوند.
- تست، اجرای تست
- یک تست (یا مجموعه ای از موارد تست) که روی یک دستگاه اجرا می شود. شما می توانید یک تست را برای هر دستگاه اجرا کنید، یا به صورت اختیاری تست را تقسیم کنید و موارد تست آن را در دستگاه های مختلف اجرا کنید.
- ماتریس تست
- شامل وضعیت ها و نتایج آزمایش برای اجرای آزمایش شما. اگر اجرای هر آزمایشی در یک ماتریس با شکست مواجه شود، کل ماتریس با شکست مواجه می شود.
مرحله 1 : آزمون خود را برای آپلود در Test Lab آماده کنید
می توانید تست های زیر را با Test Lab اجرا کنید. توجه داشته باشید که تمام انواع تستها میتوانند حداکثر تا 45 دقیقه در دستگاههای فیزیکی اجرا شوند و هر استثنایی که کشف نشود باعث شکست تست میشود.
XCTest (شامل XCUITests) : آزمون واحدی که با استفاده از چارچوب XCTest نوشتهاید. برای دستورالعملهای مربوط به تغییر XCTest برای اجرا با Test Lab از Create an XCTest دیدن کنید.
تست حلقه بازی : آزمایشی که از "حالت نمایشی" برای شبیه سازی اقدامات بازیکن در برنامه های بازی استفاده می کند. این یک راه سریع و مقیاس پذیر برای تأیید اینکه بازی شما برای کاربران خوب عمل می کند است. هنگامی که شما انتخاب می کنید که یک تست حلقه بازی را اجرا کنید، می توانید:
تست های بومی موتور بازی خود را بنویسید.
از نوشتن کد یکسان برای UI های مختلف یا چارچوب های آزمایشی خودداری کنید.
به صورت اختیاری چندین حلقه برای اجرا در یک اجرای آزمایشی ایجاد کنید. همچنین میتوانید حلقهها را با استفاده از برچسبها سازماندهی کنید تا بتوانید آنها را ردیابی کنید و حلقههای خاصی را دوباره اجرا کنید.
برای دستورالعملهایی در مورد نحوه اجرای تست در Test Lab از Run a Game Loop test دیدن کنید.
مرحله 2 : ابزاری را برای اجرای آزمون خود انتخاب کنید
می توانید ابزارهای زیر را برای اجرای آزمون خود انتخاب کنید:
کنسول Firebase به شما امکان می دهد یک برنامه را آپلود کنید و آزمایش را از هر کجا شروع کنید. برای دستورالعملهای استفاده از این ابزار ، تست با کنسول Firebase را ببینید.
رابط خط فرمان gcloud (CLI) شما را قادر می سازد تا آزمایشات را از خط فرمان به صورت تعاملی اجرا کنید، و همچنین برای اسکریپت نویسی به عنوان بخشی از فرآیند ساخت و آزمایش خودکار شما مناسب است. برای دستورالعملهای استفاده از این ابزار ، تست با gcloud CLI را ببینید.
قبل از آزمایش بر روی دستگاههای واقعی، آزمایش خود را به صورت محلی بر روی یک شبیهساز اجرا کنید تا مطمئن شوید که آنطور که در نظر گرفته شده است رفتار میکند. برای دستورالعمل ها به تست محلی مراجعه کنید.
مرحله 3 : دستگاه های تست را مشخص کنید
با Test Lab میتوانید آزمایش خود را روی برنامهتان در طیف گستردهای از دستگاهها و مدلهای iOS که در مرکز داده Google میزبانی شدهاند، اجرا کنید. برای کسب اطلاعات بیشتر، به دستگاه های موجود مراجعه کنید.
مرحله 4 : نتایج آزمون را مرور کنید
صرف نظر از اینکه چگونه آزمایشات خود را شروع می کنید، تمام نتایج آزمون شما توسط Test Lab مدیریت می شود و می توان آن را به صورت آنلاین مشاهده کرد.
خلاصه نتیجه آزمایش به طور خودکار ذخیره می شود و می توان آن را در کنسول Firebase مشاهده کرد. این شامل مرتبطترین دادهها برای آزمایش شما است، از جمله ویدیوهای مربوط به مورد آزمایشی، اسکرینشاتها، تعداد آزمایشهایی که با موفقیت پشت سر گذاشتهاند، ناموفق بودهاند یا نتایج ضعیفی دریافت کردهاند، و موارد دیگر.
نتایج آزمایش خام حاوی گزارشهای آزمایشی و جزئیات خرابی برنامه است و بهطور خودکار در یک سطل Google Cloud ذخیره میشود. اگر یک سطل مشخص کنید، هزینه ذخیره سازی بر عهده شماست. اگر یک سطل را مشخص نکنید، Test Lab بدون هیچ هزینه ای برای شما ایجاد می کند.
برای جزئیات بیشتر، به تجزیه و تحلیل نتایج Firebase Test Lab مراجعه کنید.
پاکسازی دستگاه
Google امنیت داده های برنامه شما را بسیار جدی می گیرد. ما بهترین شیوههای استاندارد صنعت را برای حذف دادههای برنامه و بازنشانی تنظیمات سیستم برای دستگاههای فیزیکی پس از هر آزمایش آزمایشی دنبال میکنیم تا اطمینان حاصل کنیم که آنها برای اجرای آزمایشهای جدید آماده هستند. برای دستگاههایی که میتوانیم با یک تصویر بازیابی سفارشی فلش کنیم، با فلش کردن این دستگاهها در بین اجرای آزمایشی یک قدم جلوتر میرویم.
برای دستگاههای مجازی استفادهشده توسط Test Lab ، نمونههای دستگاه پس از استفاده حذف میشوند تا هر آزمایش آزمایشی از یک نمونه دستگاه مجازی جدید استفاده کند.
اجازه دادن به دستگاههای Test Lab برای دسترسی به سرورهای پشتیبان خصوصی
برخی از برنامههای تلفن همراه برای عملکرد صحیح در طول آزمایش، باید با سرویسهای پشتیبان خصوصی ارتباط برقرار کنند. اگر سرورهای پشتیبان شما توسط قوانین فایروال محافظت می شوند، می توانید با استفاده از بلوک های آدرس IP زیر برای باز کردن مسیرها از طریق دیوار آتش، به دستگاه های فیزیکی و مجازی Test Lab اجازه دسترسی دهید.
تبلیغات موبایل
Test Lab زیرساخت مقیاسپذیری را ارائه میکند که تست برنامه را خودکار میکند و متأسفانه، این قابلیت میتواند توسط برنامههای مخربی که برای ایجاد درآمد تبلیغاتی جعلی طراحی شدهاند مورد سوء استفاده قرار گیرد.
برای کاهش این مشکل:
اگر از ارائهدهندگان تبلیغات دیجیتال شخص ثالث (مثلاً شبکههای تبلیغاتی یا پلتفرمهای طرف تقاضا) استفاده میکنید یا با آنها کار میکنید، به شما توصیه میشود در طول توسعه و آزمایش برنامه از تبلیغات آزمایشی به جای تبلیغات واقعی استفاده کنید.
اگر باید در آزمون خود از تبلیغات واقعی استفاده کنید، به ارائه دهندگان تبلیغات دیجیتالی که با آنها کار می کنید اطلاع دهید تا با استفاده از بلوک های آدرس IP زیر، درآمدها و تمام ترافیک مربوطه ایجاد شده از Test Lab فیلتر کنند. نیازی نیست به ارائه دهندگان تبلیغات متعلق به Google اطلاع دهید. Test Lab از آن برای شما مراقبت می کند.
آدرس های IP مورد استفاده دستگاه های Test Lab
تمام ترافیک شبکه تولید شده توسط دستگاه های Test Lab از بلوک های آدرس IP زیر سرچشمه می گیرد. همچنین می توانید با استفاده از دستور gcloud beta firebase test ip-blocks list
در gcloud CLI به این لیست دسترسی داشته باشید. این لیست به طور متوسط سالی یک بار به روز می شود.
پلت فرم و نوع دستگاه | بلوک آدرس IP CIDR |
---|---|
دستگاه های فیزیکی اندروید و iOS، دستگاه های مجازی Arm | 70.32.128.0/19 (اضافه شده 02-2022) 108.177.6.0/23 108.177.18.192/26 (اضافه شده 02-2022) 108.177.29.64/27 (توسعه 02-2022) 108.177.31.160/27 (اضافه شده 02-2022) 199.36.156.8/29 (اضافه شده 02-2022) 199.36.156.16/28 (اضافه شده 02-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) 70.32.128.48/28 (اضافه شده 04-2024) |
دستگاه های مجازی اندروید (غیر بازو) | 34.68.194.64/29 (اضافه شده 11-2019) 34.69.234.64/29 (اضافه شده 11-2019) 34.73.34.72/29 (اضافه شده 11-2019) 34.73.178.72/29 (اضافه شده 11-2019) 34.74.10.72/29 (اضافه شده 02-2022) 34.136.2.136/29 (اضافه شده 02-2022) 34.136.50.136/29 (اضافه شده 02-2022) 34.145.234.144/29 (اضافه شده 02-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 (اضافه شده 02-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 (حذف 02-2022) |