تجزیه‌وتحلیل نتایج Firebase Test Lab

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

مفاهیم کلیدی

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

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

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

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

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

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

تفسیر نتایج سابقه آزمایش

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

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

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

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

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

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

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

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

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

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

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

تفسیر نتایج آزمایش Robo

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

نمونه ویدیو نتایج آزمایش Robo

نتایج آزمایش Robo

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

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

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

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

نتایج آزمایش ابزارگری پارتیشن‌بندی‌شده

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

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

تفسیر نتایج دسترس‌پذیری

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

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

سنجه‌های عملکرد

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

سنجهپیکربندی دستگاه الزامی است
زمان راه‌اندازی برنامه‫API 19+‎
مقدار CPU استفاده‌شدهAPI 21+‎
میزان استفاده از حافظه
فعالیت شبکه
فریم در ثانیهمیانای برنامه‌سازی کاربردی ۲۱+ و شامل SurfaceView

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

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

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

هنگام اجرای آزمایش، اگر خطای does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).. را دریافت کردید، ممکن است مدیر اجرایی آزمایش اجازه صحیح را در پروژه نداشته باشد. به‌طور پیش‌فرض، Firebase مخزنی برای شما در Google Cloud Storage ایجاد می‌کند، اما این کار مستلزم آن است که عامل اجراکننده آزمایش دارای «roles/editor» باشد که نقشی مجاز است. اگر نمی‌توانید آن نقش را به اصلی اعطا کنید، می‌توانید از گزینه خط فرمان gcloud‏ results-bucket-- استفاده کنید.