יש כמה דרכים להשתמש ב-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, מוצגות תוצאות הבדיקות שהפעלתם עד עכשיו.
היסטוריית הבדיקות מקובצת לפי אפליקציה. מוצגות רק חמש מטריצות הבדיקה האחרונות לכל אפליקציה. אם יש עוד מטריצות, אפשר ללחוץ על הקישור כל המטריצות בתחתית רשימת בדיקות האפליקציה כדי לראות את הרשימה המלאה של אותה אפליקציה.
פירוש התוצאות של מטריצת הבדיקה
כשמתחילים בדיקה דרך ממשק המשתמש של Test Lab, מועברים לדף שבו אפשר לראות את מטריצת הבדיקה וללחוץ על הרצה ספציפית של בדיקה כדי לראות את תוצאות הבדיקה. גם Android Studio וגם הפקודה gcloud מספקים כתובת URL לדף התוצאות של מטריצת הבדיקה.
במטריצת בדיקות טיפוסית, יכול להיות שתריצו בדיקה בכ-12 מכשירים שונים. לכל הרצת בדיקה יכולה להיות תוצאה שונה. התוצאות האפשריות לכל הרצת בדיקה במטריצת בדיקות כוללות את האפשרויות הבאות:
- עבר
: לא נתקלו בכשלים. - נכשל
: אירע לפחות כשל אחד. - לא חד-משמעי
: תוצאות הבדיקה לא היו חד-משמעיות, יכול להיות בגלל שגיאה Test Lab. - הדילוג על
: ערכי המאפיינים שנבחרו בחלק מהרצות הבדיקה במטריצה לא היו תואמים. זה קורה כשמכשירים שבחרתם לא תואמים לרמות של Android API שבחרתם.
כדי לבדוק את תוצאות הבדיקה המצטברות של כל מטריצות הבדיקה של אפליקציה מסוימת בפרויקט Firebase, לוחצים על שם האפליקציה, כמו בדוגמה הבאה:
דוגמה לדף תוצאות של מטריצת בדיקה עם ארבע הרצות בדיקה בלבד

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

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