این سند AVD های مخصوص Test Lab ، شامل مزایا و محدودیتهای شناخته شده را شرح میدهد. ما همچنین توصیههایی در مورد نحوه تست برنامه شما در طول چرخه عمر توسعه ارائه میدهیم. AVD های Test Lab مشابه AVD های مخصوص اندروید استودیو هستند اما برای عملکرد با تست ابری بهینه شدهاند، بنابراین تفاوتهای کمی بین این دو وجود دارد.
AVD های Test Lab با پسوند .arm یا (Arm) شبیه سازهای پیشرفته ای هستند که مزایای زیر را ارائه می دهند:
Faster test execution time
اندازه و تراکم صفحه نمایش برای هماهنگی با AVD های اندروید استودیو
GPU supported accelerated graphics
جدول زیر مزایای استفاده از دستگاههای مجازی را شرح میدهد:
| فایده | توضیحات | Use case(s) |
| High availability | هنگام تست با دستگاههای مجازی، میتوانید تستها را اجرا کنید و نتایج تست را سریعتر دریافت کنید. از آنجا که دستگاههای مجازی بنا به تقاضا ایجاد میشوند، تستهای شما تقریباً بلافاصله شروع میشوند و اعتبارسنجی سریع برنامه شما را فراهم میکنند. | آزمایش بهروزرسانیهای کوچک برای برنامه شما، یا برای آزمایش رگرسیون. |
| Longer test durations | دستگاههای مجازی از مدت زمان تست تا ۶۰ دقیقه پشتیبانی میکنند. مدت زمان تست روی دستگاههای فیزیکی به ۴۵ دقیقه در هر دستگاه محدود میشود. | Running longer tests |
| هزینههای پایینتر | دستگاههای مجازی برای هر دستگاه مجازی که برای آزمایش برنامه شما استفاده میشود، ساعتی ۱ دلار قیمت دارند. | آزمایش روزانه با استفاده از سیستمهای یکپارچهسازی مداوم، یا قبل از بررسی کد. برای کسب اطلاعات بیشتر، به سطوح استفاده، سهمیهها و قیمتگذاری Test Lab مراجعه کنید. |
Test your app with virtual devices
شما میتوانید برنامه خود را با دستگاههای مجازی به همان روشی که با دستگاههای فیزیکی آزمایش میکنید، آزمایش کنید. میتوانید هنگام پیکربندی ماتریس آزمایش، دستگاههای مجازی را برای آزمایشهای خود انتخاب کنید. برای کسب اطلاعات بیشتر در مورد اجرای آزمایشها با Test Lab ، به بخش «شروع آزمایش برای اندروید با Firebase Test Lab مراجعه کنید.
View supported models and APIs
برای مشاهده مدلهای AVD و APIهای پشتیبانیشده توسط Test Lab ، دستور زیر را اجرا کنید:
gcloud firebase test android models list --filter=virtual
Best practices for testing your app
دستگاههای مجازی، طیف گزینههای شما را هنگام آزمایش برنامهتان با Test Lab افزایش میدهند. توصیه میکنیم از بهترین شیوههای زیر برای آزمایش برنامهتان در طول چرخه عمر توسعه برنامه استفاده کنید:
از شبیهساز اندروید استودیو یا یک دستگاه فیزیکی متصل استفاده کنید
هنگام توسعه برنامه خود، از شبیهساز اندروید استودیو یا یک دستگاه فیزیکی متصل برای بررسی هر نسخه ساخته شده و اعتبارسنجی اولیه استفاده کنید. اگر تستهای ابزار دقیق دارید، میتوانید این تستها را از اندروید استودیو روی دستگاههای فیزیکی یا مجازی ارائه شده توسط Test Lab نیز اجرا کنید.
هنگام کار روی پروژههای مشترک، از سیستمهای CI در هر تغییر کد استفاده کنید
اگر روی یک پروژه بزرگ کار میکنید، یا اگر در پروژههایی که با استفاده از GitHub یا سایتی مشابه به اشتراک گذاشته میشوند، مشارکت دارید، توصیه میکنیم از سیستمهای ادغام مداوم (CI) استفاده کنید. برنامههای خود را هر بار که سیستم CI اجرا میشود، یا قبل از هر درخواست pull، روی دستگاههای مجازی آزمایش کنید. برای کسب اطلاعات بیشتر در مورد استفاده از Test Lab با سیستمهای CI، به استفاده از Test Lab برای اندروید با سیستمهای ادغام مداوم مراجعه کنید.
قبل از انتشار بهروزرسانیهای مهم برنامه، آن را روی دستگاههای فیزیکی با Test Lab آزمایش کنید
قبل از انتشار بهروزرسانیهای برنامه با تغییرات قابل توجه در رابط کاربری و عملکرد، توصیه میکنیم از Test Lab برای آزمایش برنامه خود بر روی دستگاههای فیزیکی استفاده کنید. این کار به شما کمک میکند تا از پایداری و عملکرد برنامه خود در طیف وسیعی از دستگاههای فیزیکی محبوب اطمینان حاصل کنید. آزمایش بر روی دستگاههای فیزیکی همچنین پوشش تست را برای هر عملکرد برنامهای که به ویژگیهای دستگاه فیزیکی متکی است و توسط دستگاههای مجازی شبیهسازی نشده است، تضمین میکند. برای کسب اطلاعات بیشتر در مورد این ویژگیها، به محدودیتهای شناخته شده مراجعه کنید.
Virtual device updates
تیم اندروید به صورت دورهای، تصاویر دستگاه مجازی جدیدی اضافه میکند، تصاویر قدیمی را منسوخ میکند و تصاویر موجود را بهروزرسانی میکند. ما این بهروزرسانیها را روی تصاویر دستگاه مجازی خود اعمال میکنیم تا اطمینان حاصل کنیم که شما در حال آزمایش بر روی نسخههای بهروز اندروید هستید که منعکسکننده تجربیات کاربران شما هستند.
در موارد نادر، این بهروزرسانیها ممکن است باعث شوند که آزمایشها به طور غیرمنتظرهای با شکست مواجه شوند. هنگامی که یک بهروزرسانی بالقوه مخرب وجود دارد، Test Lab اطلاعات را در یادداشتهای انتشار قرار میدهد. به عنوان یک روش برتر، توصیه میکنیم تا حد امکان از چارچوبهای آزمایشی - به عنوان مثال، Espresso - که در برابر این تغییرات مقاوم هستند، استفاده کنید. هنگامی که این امکان وجود ندارد، توصیه میکنیم دستگاههای مجازی Arm را هدف قرار دهید که میتوانید انتظار داشته باشید کمتر بهروزرسانی شوند.
Known limitations
برخی از ویژگیهای دستگاه فیزیکی در حال حاضر توسط دستگاههای مجازی شبیهسازی نمیشوند، یا با محدودیتهایی شبیهسازی میشوند. جدول زیر ویژگیهایی را که در حال حاضر در دستگاههای مجازی در دسترس نیستند، یا با محدودیتهای خاصی در دسترس هستند، خلاصه میکند:
| ویژگی | جزئیات |
| Application Binary Interfaces (ABI) | همه دستگاهها از همه ABIها پشتیبانی نمیکنند. اگر با Android NDK در حال توسعه هستید، حتماً کدی را برای ABIهای پشتیبانیشده توسط دستگاههای هدف خود تولید کنید (به دستگاههای موجود در Test Lab مراجعه کنید). برای کسب اطلاعات بیشتر در مورد مدیریت ABI، به Android ABIها مراجعه کنید. توجه: اگر تستی در ماتریس تست شما با عنوان «نامعتبر» علامتگذاری شده است، این ممکن است به این دلیل رخ دهد که برنامه شما به کد بومیای وابسته است که توسط ABI دستگاه پشتیبانی نمیشود. |
| Graphics performance | دستگاههای مجازی Nexus و Pixel از رندر گرافیکی نرمافزاری استفاده میکنند. برنامههای کاربردی با گرافیک بالا میتوانند عملکرد پایینتری را تجربه کنند. اگر برنامه شما گرافیک بالایی دارد، به جای آن از SmallPhone.arm، MediumPhone.arm یا دستگاههای فیزیکی استفاده کنید. |
| Graphics APIs | OpenGL ES 3.x در دستگاههایی با سطح API پایینتر از ۲۹ پشتیبانی نمیشود. دستگاههای جدیدتر ۱۰۰٪ با APIهای OpenGL/Vulkan سازگار نیستند، ممکن است متوجه تفاوتهای کوچکی در گرافیک شوید. |
| اپلیکیشن فروشگاه گوگل پلی | برنامه فروشگاه گوگل پلی در دستگاههای مجازی آرم پشتیبانی نمیشود. |
| Augmented Reality (AR) functionality | آزمایش قابلیت واقعیت افزوده (AR) در دستگاههای مجازی پشتیبانی نمیشود. |
| Older API levels | دستگاههای مجازی Test Lab آرم از سطوح API کمتر از ۲۶ پشتیبانی نمیکنند. |