با Firebase Test Lab شروع به آزمایش برای Android کنید

Firebase Test Lab به شما امکان می دهد برنامه خود را روی طیف وسیعی از دستگاه ها و پیکربندی ها آزمایش کنید. این راهنمای شروع یک مسیر پیاده‌سازی را برای شما فراهم می‌کند که می‌توانید دنبال کنید، و همچنین مقدمه‌ای بر پیشنهادات Android آزمایشگاه تست.

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

مفاهیم کلیدی

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

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

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

مرحله 1 : آزمون خود را برای آپلود در آزمایشگاه تست آماده کنید

انواع آزمون های موجود

می توانید تست های زیر را با Test Lab انجام دهید. توجه داشته باشید که تمامی انواع تست‌ها به مدت 45 دقیقه در دستگاه‌های فیزیکی و 60 دقیقه در دستگاه‌های مجازی محدود می‌شوند. هر گونه استثناء کشف نشده باعث شکست تست می شود.

  • تست ابزار دقیق یا تست واحد ابزار دقیق : تستی که با استفاده از فریم ورک Espresso یا UI Automator 2.0 نوشته اید. با استفاده از این آزمایش، می‌توانید در مورد وضعیت برنامه خود اظهارنظر صریحی برای تأیید عملکرد صحیح با استفاده از AndroidJUnitRunnerAPIs داشته باشید.

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

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

    • تست های بومی موتور بازی خود را بنویسید

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

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

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

ابزارهایی برای اجرای آزمون شما

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

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

  • ادغام Android Studio به شما امکان می دهد برنامه خود را بدون ترک محیط توسعه آزمایش کنید. برای دستورالعمل‌های مربوط به اجرای آزمایش‌ها با استفاده از این ابزار، به Test with Android Studio مراجعه کنید.

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

همچنین هنگام آپلود و انتشار فایل‌های APK برنامه خود با استفاده از کانال آلفا یا بتا، می‌توانید برنامه خود را بدون هیچ هزینه‌ای با Test Lab آزمایش کنید. برای اطلاعات بیشتر، استفاده از گزارش‌های پیش از راه‌اندازی برای شناسایی مشکلات و تست‌های Robo را ببینید.

مرحله 2 : دستگاه تست خود را انتخاب کنید

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

مرحله 3 : نتایج آزمون را مرور کنید

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

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

نتایج آزمایش خام حاوی گزارش‌های آزمایشی و جزئیات خرابی برنامه است و به‌طور خودکار در یک سطل Google Cloud ذخیره می‌شود. اگر یک سطل را مشخص کنید، هزینه ذخیره سازی بر عهده شماست. اگر سطلی را مشخص نکرده‌اید، آزمایشگاه تست بدون هیچ هزینه‌ای برای شما ایجاد می‌کند.

برای جزئیات بیشتر، به تجزیه و تحلیل نتایج آزمایشگاه تست Firebase مراجعه کنید.

وقتی آزمایشی را از Android Studio شروع می‌کنید، می‌توانید نتایج آزمایش را از داخل محیط توسعه خود نیز مرور کنید.

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

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

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


آزمایشگاه تست و خدمات گوگل پلی

دستگاه‌های Test Lab معمولاً بر روی آخرین نسخه SDK خدمات Google Play اجرا می‌شوند، اما ممکن است پس از انتشار نسخه جدید SDK، به‌روزرسانی برخی از آنها چند روز طول بکشد. توجه داشته باشید که ممکن است با مشکلات سازگاری با برخی از دستگاه ها مواجه شوید.

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

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

تبلیغات موبایل

Test Lab زیرساخت مقیاس‌پذیری را ارائه می‌کند که تست اپلیکیشن را خودکار می‌کند و متأسفانه، این قابلیت می‌تواند توسط برنامه‌های مخربی که برای ایجاد درآمد تبلیغاتی جعلی طراحی شده‌اند مورد سوء استفاده قرار گیرد.

برای کاهش این مشکل:

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

  • اگر باید از تبلیغات واقعی در آزمایش خود استفاده کنید، به ارائه دهندگان تبلیغات دیجیتالی که با آنها کار می کنید اطلاع دهید تا با استفاده از بلوک های آدرس IP زیر ، درآمدها و تمام ترافیک مربوطه ایجاد شده از Test Lab را فیلتر کنند. لازم نیست به ارائه دهندگان تبلیغات متعلق به Google اطلاع دهید. آزمایشگاه تست از آن برای شما مراقبت می کند.

آدرس های IP مورد استفاده دستگاه های آزمایشگاه تست

تمام ترافیک شبکه تولید شده توسط دستگاه‌های آزمایشگاه تست از بلوک‌های آدرس IP زیر سرچشمه می‌گیرد. توجه داشته باشید که با استفاده از دستور gcloud beta firebase test ip-blocks list در gcloud CLI نیز می توانید به این لیست دسترسی داشته باشید. لیست به صورت دوره ای (به طور متوسط ​​یک بار در سال) به روز می شود.

پلت فرم و نوع دستگاه بلوک آدرس IP CIDR
دستگاه های فیزیکی اندروید و iOS

108.177.6.0/23

70.32.147.112/28 (اضافه شده 03-2020)

74.125.122.32/29 (اضافه شده 04-2020)

108.177.29.80/28 (اضافه شده 04-2020)

216.239.44.24/29 (اضافه شده 04-2020)

دستگاه های مجازی اندروید

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)

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)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29