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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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