نتایج آزمایشگاه تست Firebase را تجزیه و تحلیل کنید

روش‌های مختلفی برای استفاده از Firebase Test Lab برای اجرای آزمایش‌ها در برنامه Android شما وجود دارد، از جمله رابط خط فرمان ، Android Studio ، رابط کاربری Test Lab در کنسول Firebase و Testing API . به هر حال شما انتخاب می کنید که تست های خود را شروع کنید، نتایج در پروژه Firebase که شما مشخص کرده اید ذخیره می شود. می‌توانید نتایج را با استفاده از ToolResults API علاوه بر هر یک از ابزارهای بالا بررسی کنید. این صفحه نحوه بررسی و تجزیه و تحلیل این نتایج آزمون را شرح می دهد.

مفاهیم کلیدی

برای مشاهده نتایج تمام آزمایش‌های قبلی خود، Test Lab را در پنل ناوبری سمت چپ پروژه خود در کنسول Firebase انتخاب کنید. این صفحه تمام آزمایش‌های برنامه‌هایی را که با پروژه خود با استفاده از Test Lab آزمایش کرده‌اید نمایش می‌دهد.

برای بررسی نتایج آزمون، ابتدا باید سه مفهوم را درک کنید:

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

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

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

بخش‌های زیر نحوه پیمایش نتایج آزمون را توضیح می‌دهند.

تفسیر نتایج تاریخچه آزمون

هنگامی که با انتخاب Test Lab به نتایج آزمایش خود می روید، نتایج آزمایش هایی را که تاکنون انجام داده اید مشاهده می کنید.

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

تفسیر نتایج ماتریس آزمون

هنگام شروع یک آزمایش از طریق رابط کاربری تست آزمایشگاه ، به صفحه ای هدایت می شوید که در آن می توانید ماتریس تست خود را ببینید و روی اجرای آزمایشی خاص کلیک کنید تا نتایج آزمون را مشاهده کنید. Android Studio و دستور gcloud یک URL برای صفحه نتایج ماتریس تست نیز ارائه می‌کنند.

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

  • گذشتآزمون قبول شد : با شکست مواجه نشدیم.
  • ناموفقتست ناموفق بود : حداقل یک شکست مواجه شد.
  • بی نتیجهآزمون قبول شد : نتایج آزمایش قطعی نبود، احتمالاً به دلیل خطای آزمایشگاه تست.
  • رد شدآزمون قبول شد : مقادیر ابعاد انتخاب شده برای برخی از اجرای آزمایش در ماتریس ناسازگار بود. این زمانی اتفاق می‌افتد که دستگاه‌هایی که انتخاب کرده‌اید با یک یا چند سطح Android API که انتخاب کرده‌اید ناسازگار باشند.

برای بررسی نتایج آزمایش انبوه برای همه ماتریس‌های آزمایشی برای یک برنامه معین در پروژه Firebase، روی نام برنامه کلیک کنید، همانطور که در مثال زیر نشان داده شده است:

نمونه صفحه نتایج ماتریس آزمون تنها با چهار اجرای آزمایشی نتایج ماتریس تست

این شما را به لیست ماتریس تست برنامه خود می برد، جایی که می توانید روی نام هر ماتریس تست کلیک کنید تا نتایج ماتریس تست را ببینید، و در آنجا می توانید روی نام برنامه (در کادر قرمز زیر نشان داده شده است) کلیک کنید تا لیست ماتریس آزمایشی برای سایر برنامه های مرتبط با پروژه Firebase شما.

نمونه صفحه لیست ماتریس آزمونلیست ماتریس تست

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

نتایج آزمون Robo را تفسیر کنید

اگر آزمایش‌های خود را با Robo انجام داده‌اید، نتایج شما علاوه بر معیارهای آزمایشی معمول، شامل ویدیوها و اسکرین‌شات‌هایی از Robo در حال خزیدن در رابط کاربری شما می‌شود. این ویدئو و اسکرین شات ها شامل نشانه های بصری اقداماتی است که Robo در حین خزیدن انجام داد، مشابه ویژگی «نمایش لمس» در اندروید. می‌توانید از نشانه‌ها برای کمک به شما در پیگیری پیشرفت Robo و بازتولید هر گونه اشکالی که ممکن است کشف کند استفاده کنید.

نمونه ویدیوی نتایج تست Robo

نتایج تست روبو

نتایج حاصل از اجرای یک آزمون را تفسیر کنید

از صفحه نتایج ماتریس تست، روی یکی از اجرای تست کلیک کنید تا نتیجه اجرای آن تست خاص را ببینید.

نمونه صفحه نتایج اجرای آزمایش نتایج اجرای تست

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

نتایج تست ابزار دقیق پارتیشن بندی شده

برای کمک به شما در تفسیر نتایج آزمون ابزاری، آزمایشگاه تست هر آزمون را در صفحه گزارش دقیق خود، با ردیابی پشته، گزارش‌ها و ویدیوها، جدا می‌کند. چه از Android Orchestrator استفاده کنید یا نه، این ویژگی کار می کند.

صفحه نتایج نمونه آزمایشی نتایج آزمایشی

نتایج دسترسی را تفسیر کنید

تست‌های Robo از اسکنر دسترس‌پذیری Android برای شناسایی مشکلات دسترس‌پذیری در برنامه شما استفاده می‌کنند (توجه داشته باشید که می‌توانید اسکن محلی را نیز در دستگاه خود اجرا کنید). برای دستورالعمل‌هایی درباره نحوه بررسی و تفسیر نتایج دسترس‌پذیری تست Robo، از شروع با اسکنر دسترسی دیدن کنید.

برای اطلاعات کلی درباره نحوه بهبود دسترسی به برنامه خود، از مستندات دسترسی برنامه‌نویس Android دیدن کنید.

معیارهای عملکرد

آزمایش‌هایی که روی دستگاه‌های فیزیکی اجرا می‌شوند، معیارهای عملکرد را نیز برمی‌گردانند:

متریک پیکربندی دستگاه مورد نیاز
زمان راه اندازی اپلیکیشن API 19+
میزان استفاده از پردازنده API 21+
استفاده از حافظه
فعالیت شبکه
فریم بر ثانیه API 21+ و شامل SurfaceView است
عملکرد گرافیکی API 23+

جزئیات عملکرد گرافیکی

گزارش عملکرد گرافیکی شامل آماری در مورد چندین معیار گرافیکی کلیدی است:

  • Missed Vsync: تعداد رویدادهای Vsync از دست رفته، تقسیم بر تعداد فریم هایی که بیش از 16 میلی ثانیه طول کشید تا رندر شوند.
  • تأخیر ورودی بالا: تعداد رویدادهای ورودی که بیش از 24 میلی ثانیه طول کشیده است، تقسیم بر تعداد فریم هایی که رندر آنها بیش از 16 میلی ثانیه طول کشیده است.
  • رشته رابط کاربر آهسته: تعداد دفعاتی که رشته رابط کاربری بیش از 8 میلی‌ثانیه طول کشیده است، تقسیم بر تعداد فریم‌هایی که بیش از 16 میلی‌ثانیه طول کشیده است.
  • دستورات ترسیم آهسته: تعداد دفعاتی که ارسال دستورات ترسیم به GPU بیش از 12 میلی ثانیه طول کشید، تقسیم بر تعداد فریم هایی که رندر آنها بیش از 16 میلی ثانیه طول کشید.
  • آپلود بیت مپ آهسته: تعداد دفعاتی که بیت مپ بیش از 3.2 میلی ثانیه برای آپلود در GPU طول کشید تقسیم بر تعداد فریم هایی که رندر آنها بیش از 16 میلی ثانیه طول کشید.
  • زمان رندر: توزیع زمان های رندر برای هر فریم اجرای آزمایشی. زمان‌های رندر بیشتر از ۳۲ میلی‌ثانیه باعث کندی محسوسی در رابط کاربری شما می‌شود. زمان‌های رندر 700+ نشان‌دهنده فریم‌های ثابت است. داده های رندر از dumpsys graphicsstats جمع آوری می شود.

نتایج آزمایش دقیق

نتایج آزمایش دقیق به مدت 90 روز پس از اجرای آزمایش در دسترس است و در یک سطل Google Cloud Storage ذخیره می‌شود (اما در کنسول Firebase نیز قابل مشاهده است). وقتی روی نتایج تست در صفحه نتایج اجرای آزمایش کلیک می‌کنید، می‌توانید نتایج دقیق آزمایش را در سطل فضای ذخیره‌سازی ابری مشاهده کنید. وقتی نتایج دقیق آزمون دیگر در دسترس نیست، همچنان می‌توانید ببینید کدام آزمون‌ها قبول شده یا ناموفق هستند.

برای حفظ نتایج دقیق آزمون برای بیش از 90 روز، باید این نتایج آزمایش را با استفاده از گزینه خط فرمان --results-bucket gcloud به یک سطل ذخیره سازی ابری که متعلق به شماست ارسال کنید. سپس می توانید تنظیمات Age را برای تعیین مدت زمان ذخیره نتایج در سطل Cloud Storage خود تنظیم کنید. برای اطلاعات در مورد نحوه تغییر تنظیم سن به شرایط چرخه زندگی مراجعه کنید.