Firebase Test Lab به شما امکان می دهد برنامه خود را روی طیف وسیعی از دستگاه ها و پیکربندی ها آزمایش کنید. این راهنمای شروع یک مسیر پیادهسازی را برای شما فراهم میکند که باید دنبال کنید، و همچنین مقدمهای بر پیشنهادات Android Test Lab .
برای اطلاعات در مورد سهمیه Test Lab و طرحهای قیمتگذاری، استفاده، سهمیهها و قیمتگذاری را ببینید.
مفاهیم کلیدی
وقتی یک آزمایش یا مجموعهای از موارد آزمایشی را بر روی دستگاهها و پیکربندیهایی که انتخاب کردهاید اجرا میکنید، Test Lab آزمایش را روی برنامه شما به صورت دستهای اجرا میکند، سپس نتایج را بهعنوان یک ماتریس آزمایشی نمایش میدهد.
دستگاه ها × اجرای آزمایش = ماتریس تست
- دستگاه
- یک دستگاه فیزیکی یا مجازی (فقط اندروید) که آزمایشی را روی آن انجام میدهید، مانند تلفن، رایانه لوحی یا دستگاه پوشیدنی. دستگاههای موجود در یک ماتریس آزمایشی بر اساس مدل دستگاه، نسخه سیستمعامل، جهتگیری صفحه، و موقعیت مکانی (که بهعنوان تنظیمات جغرافیایی و زبان نیز شناخته میشود) شناسایی میشوند.
- تست، اجرای تست
- یک تست (یا مجموعه ای از موارد تست) که روی یک دستگاه اجرا می شود. شما می توانید یک تست را برای هر دستگاه اجرا کنید، یا به صورت اختیاری تست را تقسیم کنید و موارد تست آن را در دستگاه های مختلف اجرا کنید.
- ماتریس تست
- شامل وضعیت ها و نتایج آزمایش برای اجرای آزمایش شما. اگر اجرای هر آزمایشی در یک ماتریس با شکست مواجه شود، کل ماتریس با شکست مواجه می شود.
مرحله 1 : آزمون خود را برای آپلود در Test Lab آماده کنید
انواع آزمون های موجود
می توانید تست های زیر را با Test Lab اجرا کنید. توجه داشته باشید که تمام انواع تستها به مدت 45 دقیقه در دستگاههای فیزیکی و 60 دقیقه در دستگاههای مجازی محدود میشوند. هر گونه استثناء کشف نشده باعث شکست تست می شود.
تست ابزار دقیق یا تست واحد ابزار دقیق : آزمونی که با استفاده از چارچوب های Espresso یا UI Automator نوشته اید. با استفاده از این آزمایش، میتوانید با استفاده از AndroidJUnitRunnerAPIها ، در مورد وضعیت برنامه خود اظهارنظر صریحی برای تأیید عملکرد صحیح داشته باشید.
برای دستورالعملهایی درباره نحوه آمادهسازی آزمون برای اجرا در Test Lab از Run an instrumentation test دیدن کنید.
برای دستورالعملهای نحوه ساخت تست ابزار دقیق، به مستندات برنامهنویسان Android مراجعه کنید.
تست 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 : نتایج آزمون را مرور کنید
صرف نظر از اینکه چگونه آزمایشات خود را شروع می کنید، تمام نتایج آزمون شما توسط Test Lab مدیریت می شود و می توان آن را به صورت آنلاین مشاهده کرد.
خلاصه نتیجه آزمایش به طور خودکار ذخیره می شود و می توان آن را در کنسول Firebase مشاهده کرد. این شامل مرتبطترین دادهها برای آزمایش شما است، از جمله ویدیوهای مربوط به مورد آزمایشی، اسکرینشاتها، تعداد آزمایشهایی که با موفقیت پشت سر گذاشتهاند، ناموفق بودهاند یا نتایج ضعیفی دریافت کردهاند، و موارد دیگر.
نتایج آزمایش خام حاوی گزارشهای آزمایشی و جزئیات خرابی برنامه است و بهطور خودکار در یک سطل Google Cloud ذخیره میشود. اگر یک سطل مشخص کنید، هزینه ذخیره سازی بر عهده شماست. اگر یک سطل را مشخص نکنید، Test Lab بدون هیچ هزینه ای برای شما ایجاد می کند.
برای جزئیات بیشتر، به تجزیه و تحلیل نتایج Firebase Test Lab مراجعه کنید.
وقتی آزمایشی را از Android Studio شروع میکنید، میتوانید نتایج آزمایش را از داخل محیط توسعه خود نیز مرور کنید.
پاکسازی دستگاه
Google امنیت داده های برنامه شما را بسیار جدی می گیرد. ما بهترین شیوههای استاندارد صنعت را برای حذف دادههای برنامه و بازنشانی تنظیمات سیستم برای دستگاههای فیزیکی پس از هر آزمایش آزمایشی دنبال میکنیم تا اطمینان حاصل کنیم که آنها برای اجرای آزمایشهای جدید آماده هستند. برای دستگاههایی که میتوانیم با یک تصویر بازیابی سفارشی فلش کنیم، با فلش کردن این دستگاهها در بین اجرای آزمایشی یک قدم جلوتر میرویم.
برای دستگاههای مجازی استفادهشده توسط Test Lab ، نمونههای دستگاه پس از استفاده حذف میشوند تا هر آزمایش آزمایشی از یک نمونه دستگاه مجازی جدید استفاده کند.
Test Lab و خدمات گوگل پلی
دستگاههای Test Lab معمولاً بر روی آخرین نسخه SDK خدمات Google Play اجرا میشوند، اما ممکن است پس از انتشار نسخه جدید SDK، بهروزرسانی برخی از آنها چند روز طول بکشد. توجه داشته باشید که ممکن است با مشکلات سازگاری با برخی از دستگاه ها مواجه شوید.
اجازه دادن به دستگاه های آزمایشی برای دسترسی به سرورهای پشتیبان خصوصی
برخی از برنامههای تلفن همراه برای عملکرد صحیح در طول آزمایش، باید با سرویسهای پشتیبان خصوصی ارتباط برقرار کنند. اگر سرورهای پشتیبان شما توسط قوانین فایروال محافظت می شوند، می توانید با استفاده از بلوک های آدرس 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) |