ניתוח התוצאות של Firebase Test Lab

יש כמה דרכים להשתמש ב-Firebase Test Lab כדי להריץ בדיקות באפליקציה ל-Android, כולל ממשק שורת הפקודה, Android Studio, ממשק המשתמש של Test Lab במסוף Firebase ו-Testing API. לא משנה איך תבחרו להפעיל את הבדיקות, התוצאות נשמרות בפרויקט Firebase שציינתם. בנוסף לכל הכלים שלמעלה, אתם יכולים לבדוק את התוצאות באמצעות ToolResults API. בדף הזה מוסבר איך לבדוק ולנתח את תוצאות הבדיקה.

מושגים מרכזיים

במסוף Firebase, אפשר לראות את התוצאות של כל הרצות הבדיקה הקודמות. לשם כך, עוברים אל DevOps & Engagement‏ > Test Lab. בדף הזה מוצגות כל התוצאות המפורטות של הרצות הבדיקה מהאפליקציות שבדקתם בפרויקט באמצעות Test Lab.

כדי לבדוק את תוצאות הבדיקה, קודם צריך להבין שלושה מושגים:

כשמריצים בדיקה או קבוצה של מקרי בדיקה במכשירים ובהגדרות שבחרתם, Test Lab מריץ את הבדיקה באפליקציה באצווה, ואז מציג את התוצאות כמטריצת בדיקה.

מכשירים × הפעלות בדיקה = מטריצת בדיקה

מכשיר
מכשיר פיזי או מכשיר וירטואלי (Android בלבד) שמריצים בו בדיקה, כמו טלפון, טאבלט או מכשיר לביש. המכשירים במטריצת הבדיקה מזוהים לפי דגם המכשיר, גרסת מערכת ההפעלה, כיוון המסך והלוקאל (שנקרא גם הגדרות גיאוגרפיה ושפה).
בדיקה, ביצוע בדיקה
בדיקה (או קבוצה של מקרי בדיקה) שצריך להריץ במכשיר. אפשר להריץ בדיקה אחת בכל מכשיר, או לפצל את הבדיקה ולהריץ את מקרי הבדיקה שלה במכשירים שונים.
מטריצת בדיקה
מכיל את הסטטוסים ואת תוצאות הבדיקה של ביצועי הבדיקות. אם ביצוע בדיקה כלשהו במטריצה נכשל, כל המטריצה נכשלת.

בקטעים הבאים מוסבר איך לנווט בתוצאות הבדיקה.

הסבר על התוצאות של היסטוריית הבדיקות

כשעוברים לתוצאות הבדיקה על ידי בחירה באפשרות Test Lab, רואים את תוצאות הבדיקות שהופעלו עד עכשיו.

היסטוריית הבדיקות מקובצת לפי אפליקציה. לכל אפליקציה מוצגות רק חמש מטריצות הבדיקה האחרונות. אם יש עוד מטריצות, אפשר ללחוץ על הקישור All Matrices בתחתית רשימת הבדיקות של האפליקציה כדי לראות את הרשימה המלאה של אותה אפליקציה.

פירוש התוצאות של מטריצת הבדיקה

כשמתחילים בדיקה דרך ממשק המשתמש של Test Lab, המערכת מפנה לדף שבו אפשר לראות את מטריצת הבדיקה וללחוץ על ביצוע בדיקה ספציפי כדי לראות את תוצאות הבדיקה. גם ב-Android Studio ובפקודת gcloud יש כתובת URL לדף התוצאות של מטריצת הבדיקה.

במטריצת בדיקה אופיינית, אפשר להריץ בדיקה על כ-12 מכשירים שונים. לכל ביצוע בדיקה יכולה להיות תוצאה שונה. אלה התוצאות האפשריות של ביצוע בדיקה במטריצת בדיקה:

  • עבר הבדיקה עברה בהצלחה: לא נמצאו כשלים.
  • נכשל הבדיקה נכשלה: אירע כשל אחד לפחות.
  • לא חד-משמעי הבדיקה עברה בהצלחה: תוצאות הבדיקה לא היו חד-משמעיות, אולי בגלל שגיאת Test Lab.
  • דילוג על הבדיקה עברה בהצלחה: ערכי המאפיינים שנבחרו לחלק מהרצות הבדיקה במטריצה לא היו תואמים. השגיאה הזו מוצגת כשהמכשירים שבחרתם לא תואמים לאחת או יותר מרמות ה-API של Android שבחרתם.

כדי לבדוק את תוצאות הבדיקה המצטברות של כל מטריצות הבדיקה של אפליקציה מסוימת בפרויקט Firebase, לוחצים על שם האפליקציה, כמו בדוגמה הבאה:

דוגמה לדף תוצאות של מטריצת בדיקה עם ארבעה ביצועי בדיקה בלבד תוצאות של מטריצת בדיקה

כך תועברו לרשימת מטריצות הבדיקה של האפליקציה. שם תוכלו ללחוץ על השם של כל מטריצת בדיקה כדי לראות את התוצאות שלה, וללחוץ על שם האפליקציה (שמוצג בתיבה האדומה למטה) כדי לראות את רשימת מטריצות הבדיקה של אפליקציות אחרות שמשויכות לפרויקט Firebase.

דוגמה לדף רשימה של מטריצות בדיקה רשימת מטריצות הבדיקה

מטריצת בדיקה יכולה לעבור, להיכשל או להיות לא חד-משמעית. מטריצת בדיקה מוצגת כ"נכשלה" או כ"לא חד-משמעית" אם אחד מביצועי הבדיקה במטריצה נכשל או לא חד-משמעי.

פירוש תוצאות של בדיקת Robo

אם הרצתם את הבדיקות באמצעות Robo, התוצאות כוללות סרטונים וצילומי מסך של הסריקה של Robo בממשק המשתמש, בנוסף למדדי הבדיקה הרגילים. הסרטון וצילומי המסך האלה כוללים אינדיקציות חזותיות לפעולות ש-Robo ביצע במהלך הסריקה, בדומה לתכונה "הצגת נגיעות" ב-Android. אתם יכולים להשתמש באינדיקציות כדי לעקוב אחרי ההתקדמות של Robo ולשחזר באגים שהוא עשוי לגלות.

סרטון לדוגמה של תוצאות בדיקת Robo

תוצאות של בדיקת Robo

פירוש התוצאות של ביצוע בדיקה אחת

בדף התוצאות של מטריצת הבדיקה, לוחצים על אחד מביצועי הבדיקה כדי לראות את התוצאה של ביצוע הבדיקה הספציפי הזה.

דוגמה לדף תוצאות של ביצוע בדיקה תוצאות של ביצוע בדיקה

בדף הזה אפשר לראות את הזמן שנדרש לכל ביצוע בדיקה. אפשר גם לראות את התוצאות של מקרי בדיקה ספציפיים שתואמים לשיטות ב-APK לבדיקה (לבדיקות אינסטרומנטציה) ואת תוצאות הבדיקה המפורטות, כולל יומני בדיקה, צילומי מסך וסרטונים. בבדיקת Robo, תוצאות הבדיקה המפורטות כוללות גם מפת פעילות שמציגה באופן גרפי את נתיבי ממשק המשתמש שבהם ביקרה בדיקת Robo.

תוצאות של בדיקות אינסטרומנטציה מחולקות למחיצות

כדי לעזור לכם לפרש את תוצאות בדיקות האינסטרומנטציה, Test Lab מפריד כל בדיקה לדף דוח מפורט משלה, שכולל דוחות קריסות, יומנים וסרטונים. התכונה הזו פועלת גם אם אתם משתמשים ב-Android Orchestrator וגם אם לא.

דוגמה לדף תוצאות של מקרה בדיקה תוצאות של מקרי בדיקה

פירוש תוצאות הנגישות

בדיקות Robo משתמשות ב-Accessibility Scanner ל-Android כדי לזהות בעיות נגישות באפליקציה (שימו לב שאפשר גם להריץ סריקה מקומית במכשיר). במאמר תחילת העבודה עם Accessibility Scanner מוסבר איך לבדוק ולפרש את תוצאות הנגישות של בדיקת Robo.

מידע כללי על שיפור הנגישות של האפליקציה זמין בתיעוד למפתחים של Android בנושא נגישות.

מדדים לבדיקת ביצועים

בדיקות שמופעלות במכשירים פיזיים מחזירות גם מדדי ביצועים:

מדדהגדרת המכשיר הנדרשת
זמן ההפעלה של האפליקציה‫API 19 ומעלה
ניצול יחידת העיבוד המרכזית (CPU)API 21+‎
ניצול הזיכרון
פעילות ברשת
FPS‫API 21 ואילך, וכוללת SurfaceView

תוצאות בדיקה מפורטות

תוצאות הבדיקה המפורטות זמינות למשך 90 יום אחרי הרצת הבדיקה, והן מאוחסנות בקטגוריה של Google Cloud Storage (אבל אפשר לראות אותן גם במסוף Firebase). כדי לראות את פירוט תוצאות הבדיקה בקטגוריה Cloud Storage, לוחצים על תוצאות הבדיקה בדף התוצאות של ביצוע הבדיקה. גם אם תוצאות הבדיקה המפורטות כבר לא זמינות, עדיין אפשר לראות אילו בדיקות עברו בהצלחה ואילו נכשלו.

אם אתם רוצים לשמור את תוצאות הבדיקה המפורטות למשך יותר מ-90 יום, אתם יכולים לשלוח את תוצאות הבדיקה לקטגוריה של Cloud Storage שבבעלותכם באמצעות אפשרות שורת הפקודה של gcloud‏ ‎--results-bucket. אחר כך אתם יכולים להגדיר את Age כדי לקבוע כמה זמן התוצאות יישמרו בקטגוריה ב-Cloud Storage. במאמר תנאים של מחזור חיים מוסבר איך לשנות את ההגדרה Age.

אם מופיעה השגיאה 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, שהוא תפקיד עם הרשאות רבות. אם אתם לא יכולים להקצות את התפקיד הזה לחשבון המשתמש, אתם יכולים להשתמש באפשרות שורת הפקודה ‎--results-bucket של gcloud.