این سند AVD های مخصوص Test Lab ، شامل مزایا و محدودیتهای شناخته شده را شرح میدهد. ما همچنین توصیههایی در مورد نحوه تست برنامه شما در طول چرخه عمر توسعه ارائه میدهیم. AVD های Test Lab مشابه AVD های مخصوص اندروید استودیو هستند اما برای عملکرد با تست ابری بهینه شدهاند، بنابراین تفاوتهای کمی بین این دو وجود دارد.
AVD های Test Lab با پسوند .arm یا (Arm) شبیه سازهای پیشرفته ای هستند که مزایای زیر را ارائه می دهند:
زمان اجرای تست سریعتر
اندازه و تراکم صفحه نمایش برای هماهنگی با AVD های اندروید استودیو
گرافیک شتابیافته پشتیبانیشده با GPU
جدول زیر مزایای استفاده از دستگاههای مجازی را شرح میدهد:
| فایده | توضیحات | مورد(های) استفاده |
| دسترسی بالا | هنگام تست با دستگاههای مجازی، میتوانید تستها را اجرا کنید و نتایج تست را سریعتر دریافت کنید. از آنجا که دستگاههای مجازی بنا به تقاضا ایجاد میشوند، تستهای شما تقریباً بلافاصله شروع میشوند و اعتبارسنجی سریع برنامه شما را فراهم میکنند. | آزمایش بهروزرسانیهای کوچک برای برنامه شما، یا برای آزمایش رگرسیون. |
| مدت زمان طولانیتر آزمایش | دستگاههای مجازی از مدت زمان تست تا ۶۰ دقیقه پشتیبانی میکنند. مدت زمان تست روی دستگاههای فیزیکی به ۴۵ دقیقه در هر دستگاه محدود میشود. | اجرای تستهای طولانیتر |
| هزینههای پایینتر | دستگاههای مجازی برای هر دستگاه مجازی که برای آزمایش برنامه شما استفاده میشود، ساعتی ۱ دلار قیمت دارند. | آزمایش روزانه با استفاده از سیستمهای یکپارچهسازی مداوم، یا قبل از بررسی کد. برای کسب اطلاعات بیشتر، به سطوح استفاده، سهمیهها و قیمتگذاری Test Lab مراجعه کنید. |
برنامه خود را با دستگاههای مجازی آزمایش کنید
شما میتوانید برنامه خود را با دستگاههای مجازی به همان روشی که با دستگاههای فیزیکی آزمایش میکنید، آزمایش کنید. میتوانید هنگام پیکربندی ماتریس آزمایش، دستگاههای مجازی را برای آزمایشهای خود انتخاب کنید. برای کسب اطلاعات بیشتر در مورد اجرای آزمایشها با Test Lab ، به بخش «شروع آزمایش برای اندروید با Firebase Test Lab مراجعه کنید.
مشاهده مدلها و APIهای پشتیبانیشده
برای مشاهده مدلهای AVD و APIهای پشتیبانیشده توسط Test Lab ، دستور زیر را اجرا کنید:
gcloud firebase test android models list --filter=virtual
بهترین شیوهها برای آزمایش برنامه شما
دستگاههای مجازی، طیف گزینههای شما را هنگام آزمایش برنامهتان با Test Lab افزایش میدهند. توصیه میکنیم از بهترین شیوههای زیر برای آزمایش برنامهتان در طول چرخه عمر توسعه برنامه استفاده کنید:
از شبیهساز اندروید استودیو یا یک دستگاه فیزیکی متصل استفاده کنید
هنگام توسعه برنامه خود، از شبیهساز اندروید استودیو یا یک دستگاه فیزیکی متصل برای بررسی هر نسخه ساخته شده و اعتبارسنجی اولیه استفاده کنید. اگر تستهای ابزار دقیق دارید، میتوانید این تستها را از اندروید استودیو روی دستگاههای فیزیکی یا مجازی ارائه شده توسط Test Lab نیز اجرا کنید.
هنگام کار روی پروژههای مشترک، از سیستمهای CI در هر تغییر کد استفاده کنید
اگر روی یک پروژه بزرگ کار میکنید، یا اگر در پروژههایی که با استفاده از GitHub یا سایتی مشابه به اشتراک گذاشته میشوند، مشارکت دارید، توصیه میکنیم از سیستمهای ادغام مداوم (CI) استفاده کنید. برنامههای خود را هر بار که سیستم CI اجرا میشود، یا قبل از هر درخواست pull، روی دستگاههای مجازی آزمایش کنید. برای کسب اطلاعات بیشتر در مورد استفاده از Test Lab با سیستمهای CI، به استفاده از Test Lab برای اندروید با سیستمهای ادغام مداوم مراجعه کنید.
قبل از انتشار بهروزرسانیهای مهم برنامه، آن را روی دستگاههای فیزیکی با Test Lab آزمایش کنید
قبل از انتشار بهروزرسانیهای برنامه با تغییرات قابل توجه در رابط کاربری و عملکرد، توصیه میکنیم از Test Lab برای آزمایش برنامه خود بر روی دستگاههای فیزیکی استفاده کنید. این کار به شما کمک میکند تا از پایداری و عملکرد برنامه خود در طیف وسیعی از دستگاههای فیزیکی محبوب اطمینان حاصل کنید. آزمایش بر روی دستگاههای فیزیکی همچنین پوشش تست را برای هر عملکرد برنامهای که به ویژگیهای دستگاه فیزیکی متکی است و توسط دستگاههای مجازی شبیهسازی نشده است، تضمین میکند. برای کسب اطلاعات بیشتر در مورد این ویژگیها، به محدودیتهای شناخته شده مراجعه کنید.
بهروزرسانیهای دستگاههای مجازی
تیم اندروید به صورت دورهای، تصاویر دستگاه مجازی جدیدی اضافه میکند، تصاویر قدیمی را منسوخ میکند و تصاویر موجود را بهروزرسانی میکند. ما این بهروزرسانیها را روی تصاویر دستگاه مجازی خود اعمال میکنیم تا اطمینان حاصل کنیم که شما در حال آزمایش بر روی نسخههای بهروز اندروید هستید که منعکسکننده تجربیات کاربران شما هستند.
در موارد نادر، این بهروزرسانیها ممکن است باعث شوند که آزمایشها به طور غیرمنتظرهای با شکست مواجه شوند. هنگامی که یک بهروزرسانی بالقوه مخرب وجود دارد، Test Lab اطلاعات را در یادداشتهای انتشار قرار میدهد. به عنوان یک روش برتر، توصیه میکنیم تا حد امکان از چارچوبهای آزمایشی - به عنوان مثال، Espresso - که در برابر این تغییرات مقاوم هستند، استفاده کنید. هنگامی که این امکان وجود ندارد، توصیه میکنیم دستگاههای مجازی Arm را هدف قرار دهید که میتوانید انتظار داشته باشید کمتر بهروزرسانی شوند.
محدودیتهای شناختهشده
برخی از ویژگیهای دستگاه فیزیکی در حال حاضر توسط دستگاههای مجازی شبیهسازی نمیشوند، یا با محدودیتهایی شبیهسازی میشوند. جدول زیر ویژگیهایی را که در حال حاضر در دستگاههای مجازی در دسترس نیستند، یا با محدودیتهای خاصی در دسترس هستند، خلاصه میکند:
| ویژگی | جزئیات |
| رابطهای دودویی برنامه (ABI) | همه دستگاهها از همه ABIها پشتیبانی نمیکنند. اگر با Android NDK در حال توسعه هستید، حتماً کدی را برای ABIهای پشتیبانیشده توسط دستگاههای هدف خود تولید کنید (به دستگاههای موجود در Test Lab مراجعه کنید). برای کسب اطلاعات بیشتر در مورد مدیریت ABI، به Android ABIها مراجعه کنید. توجه: اگر تستی در ماتریس تست شما با عنوان «نامعتبر» علامتگذاری شده است، این ممکن است به این دلیل رخ دهد که برنامه شما به کد بومیای وابسته است که توسط ABI دستگاه پشتیبانی نمیشود. |
| عملکرد گرافیکی | دستگاههای مجازی Nexus و Pixel از رندر گرافیکی نرمافزاری استفاده میکنند. برنامههای کاربردی با گرافیک بالا میتوانند عملکرد پایینتری را تجربه کنند. اگر برنامه شما گرافیک بالایی دارد، به جای آن از SmallPhone.arm، MediumPhone.arm یا دستگاههای فیزیکی استفاده کنید. |
| رابطهای برنامهنویسی گرافیکی (API) | OpenGL ES 3.x در دستگاههایی با سطح API پایینتر از ۲۹ پشتیبانی نمیشود. دستگاههای جدیدتر ۱۰۰٪ با APIهای OpenGL/Vulkan سازگار نیستند، ممکن است متوجه تفاوتهای کوچکی در گرافیک شوید. |
| اپلیکیشن فروشگاه گوگل پلی | برنامه فروشگاه گوگل پلی در دستگاههای مجازی آرم پشتیبانی نمیشود. |
| قابلیت واقعیت افزوده (AR) | آزمایش قابلیت واقعیت افزوده (AR) در دستگاههای مجازی پشتیبانی نمیشود. |
| سطوح API قدیمیتر | دستگاههای مجازی Test Lab آرم از سطوح API کمتر از ۲۶ پشتیبانی نمیکنند. |