Firebase Test Lab מאפשרת לכם לבדוק את איכות האפליקציה במגוון מכשירים ותצורות. במדריך הזה מופיעה סקירה כללית של המושגים המרכזיים ב-Test Lab, של המוצרים ל-iOS והוראות להתחלת בדיקות.
למידע על המכסות ותוכניות התמחור של Test Lab, אפשר לעיין במאמר שימוש, מכסות ותמחור.
מושגי מפתח ומונחים
כשמריצים בדיקה או סדרה של תרחישי בדיקה במכשירים ובהגדרות שבחרתם, Test Lab מריץ את הבדיקה באפליקציה שלכם באצווה, ואז מציג את התוצאות כמטריצת בדיקה.
מכשירים × הרצות בדיקה = מטריצת בדיקה
- מכשיר
- מכשיר פיזי או מכשיר וירטואלי (Android בלבד) שבו מריצים בדיקה, כמו טלפון, טאבלט או מכשיר לביש. מכשירים במטריצת בדיקה מזוהים לפי דגם המכשיר, גרסת מערכת ההפעלה, כיוון המסך והלוקאל (שנקרא גם הגדרות גיאוגרפיות ושפה).
- בדיקה, ביצוע בדיקה
- בדיקה (או קבוצה של מקרי בדיקה) שצריך להריץ במכשיר. אפשר להריץ בדיקה אחת לכל מכשיר, או לחלק את הבדיקה ולהריץ את תרחישי הבדיקה שלה במכשירים שונים.
- מטריצת בדיקה
- מכיל את הסטטוסים ואת תוצאות הבדיקה של הרצות הבדיקה. אם ביצוע בדיקה כלשהו במטריצה נכשל, כל המטריצה נכשלת.
שלב 1: הכנת הבדיקה להעלאה אל Test Lab
אפשר להריץ את הבדיקות הבאות באמצעות Test Lab. שימו לב שכל סוגי הבדיקות יכולים לפעול עד 45 דקות לכל היותר במכשירים פיזיים, וכל חריגה שלא נתפסה תגרום לכשל בבדיקה.
XCTest (כולל XCUITests): בדיקת יחידה שכתבתם באמצעות מסגרת XCTest. במאמר יצירת XCTest מוסבר איך לשנות XCTest כדי להריץ אותו עם Test Lab.
בדיקת Robo: בדיקה אוטומטית שמנתחת את ממשק המשתמש של האפליקציה ואז בודקת אותו באופן שיטתי על ידי הדמיה של פעילויות משתמשים, בלי שתצטרכו לכתוב קוד. מידע נוסף זמין במאמר מידע על בדיקות Robo.
בדיקת game loop: בדיקה שמשתמשת ב'מצב הדגמה' כדי לדמות פעולות של שחקנים באפליקציות משחקים. זו דרך מהירה וניתנת להרחבה כדי לוודא שהמשחק שלכם פועל בצורה טובה עבור המשתמשים. כשבוחרים להריץ בדיקה של לולאת משחק, אפשר:
כתיבת בדיקות שמותאמות למנוע המשחק.
אל תכתבו את אותו קוד לממשקי משתמש שונים או למסגרות בדיקה שונות.
אפשר ליצור כמה לולאות להרצה בהרצת בדיקה אחת. אפשר גם לארגן את הלולאות באמצעות תוויות כדי לעקוב אחריהן ולהריץ מחדש לולאות ספציפיות.
הוראות להפעלת הבדיקה ב-Test Lab מופיעות במאמר הפעלת בדיקה של לולאת משחק.
שלב 2: בחירת כלי להפעלת הבדיקה
אפשר לבחור באחד מהכלים הבאים כדי להריץ את הבדיקה:
Firebaseמסוף מאפשר להעלות אפליקציה ולהתחיל בדיקה מכל מקום. הוראות לשימוש בכלי הזה מופיעות במאמר בנושא בדיקה באמצעות מסוף Firebase.
ממשק שורת הפקודה (CLI) של gcloud מאפשר לכם להריץ בדיקות משורת הפקודה באופן אינטראקטיבי, והוא מתאים גם לכתיבת סקריפטים כחלק מתהליך אוטומטי של בנייה ובדיקה. הוראות לשימוש בכלי הזה מופיעות במאמר בדיקה באמצעות ה-CLI של gcloud.
לפני שמבצעים בדיקה במכשירים אמיתיים, כדאי להריץ את הבדיקה באופן מקומי בסימולטור כדי לוודא שהיא מתנהגת כמו שרוצים. הוראות מפורטות זמינות במאמר בנושא בדיקה מקומית.
שלב 3: מציינים את מכשירי הבדיקה
עם Test Lab, אתם יכולים להריץ את הבדיקה באפליקציה שלכם במגוון רחב של מכשירי iOS ודגמים שמתארחים במרכז נתונים של Google. מידע נוסף מופיע במאמר בנושא מכשירים זמינים.
שלב 4: בדיקת תוצאות הבדיקה
לא משנה איך מתחילים את הבדיקות, כל התוצאות שלהן מנוהלות על ידי Test Lab ואפשר לראות אותן אונליין.
סיכום תוצאות הבדיקה נשמר אוטומטית וניתן לצפייה במסוף Firebase. הוא מכיל את הנתונים הרלוונטיים ביותר לבדיקה, כולל סרטונים ספציפיים לתרחישי בדיקה, צילומי מסך, מספר הבדיקות שעברו, נכשלו או הניבו תוצאות לא יציבות ועוד.
תוצאות הבדיקה הגולמיות מכילות יומני בדיקה ופרטים על כשלים באפליקציה, והן מאוחסנות באופן אוטומטי בקטגוריה של Google Cloud. אם מציינים קטגוריה, אתם אחראים לעלות האחסון. אם לא מציינים קטגוריית אחסון, Test Lab יוצר קטגוריה ללא עלות.
פרטים נוספים זמינים במאמר בנושא ניתוח התוצאות של Firebase Test Lab.
ניקוי המכשיר
Google מתייחסת ברצינות רבה לאבטחת הנתונים של האפליקציה. אנחנו פועלים לפי השיטות המומלצות בתחום כדי להסיר נתוני אפליקציות ולאפס את הגדרות המערכת במכשירים פיזיים אחרי כל הרצת בדיקה, כדי לוודא שהם מוכנים להרצת בדיקות חדשות. במכשירים שאפשר לצרוב בהם ROM (flash) עם תמונת שחזור מותאמת אישית, אנחנו עושים צעד נוסף וצורבים ROM (flash) במכשירים האלה בין הרצות הבדיקה.
במכשירים הווירטואליים שבהם משתמשים ב-Test Lab, מופעי המכשירים נמחקים אחרי השימוש בהם, כך שכל הרצה של בדיקה משתמשת במופע חדש של מכשיר וירטואלי.
מתן הרשאה למכשירי Test Lab לגשת לשרתי קצה עורפיים פרטיים
כדי שאפליקציות מסוימות לנייד יפעלו בצורה תקינה במהלך הבדיקה, הן צריכות לתקשר עם שירותי קצה עורפי פרטיים. אם השרתים העורפיים שלכם מוגנים על ידי כללי חומת אש, אתם יכולים לאפשר גישה למכשירים הפיזיים והווירטואליים של Test Lab באמצעות בלוקים של כתובות IP שמופיעים בהמשך כדי לפתוח נתיבים דרך חומת האש.
פרסום בנייד
Test Lab מספקת תשתית ניתנת להרחבה שמבצעת בדיקות אוטומטיות של אפליקציות, ולצערנו, אפליקציות זדוניות שנועדו ליצור הכנסות מפרסום שמקורו בתרמית עלולות לנצל לרעה את היכולת הזו.
כדי לפתור את הבעיה:
אם אתם משתמשים בספקי פרסום דיגיטלי של צד שלישי או עובדים איתם (לדוגמה, רשתות מודעות או פלטפורמות בצד הביקוש), מומלץ להשתמש במודעות בדיקה ולא במודעות אמיתיות במהלך פיתוח האפליקציה ובדיקתה.
אם אתם חייבים להשתמש במודעות אמיתיות בבדיקה, עליכם להודיע לספקי הפרסום הדיגיטלי שאיתם אתם עובדים לסנן את ההכנסות ואת כל התנועה התואמת שנוצרו מ-Test Lab באמצעות טווח כתובות ה-IP שמופיע בהמשך. אתם לא צריכים להודיע לספקי מודעות בבעלות Google. Test Lab עושה את זה בשבילכם.
כתובות IP שמשמשות מכשירי Test Lab
כל תעבורת הנתונים ברשת שנוצרת על ידי מכשירי Test Lab מגיעה מבלוקים של כתובות IP שמופיעים בהמשך.
אפשר לגשת לרשימה הזו גם באמצעות gcloud beta firebase test ip-blocks list
הפקודה
ב-CLI של gcloud. הרשימה מתעדכנת בממוצע פעם בשנה.
| פלטפורמה וסוג המכשיר | בלוק של כתובות IP בפורמט CIDR |
|---|---|
| מכשירים פיזיים של Android ו-iOS, מכשירים וירטואליים של Arm |
70.32.128.0/19 (נוסף בפברואר 2022) 108.177.6.0/23 108.177.18.192/26 (נוספה בפברואר 2022) 108.177.29.64/27 (מורחב 02-2022) 108.177.31.160/27 (נוספה בפברואר 2022) 199.36.156.8/29 (נוסף בפברואר 2022) 199.36.156.16/28 (נוסף בפברואר 2022) 209.85.131.0/27 (נוסף בפברואר 2022) 2001:4860:1008::/48 (נוסף בפברואר 2022) 2001:4860:1018::/48 (נוסף בפברואר 2022) 2001:4860:1019::/48 (נוסף בפברואר 2022) 2001:4860:1020::/48 (נוסף ב-02-2022) 2001:4860:1022::/48 (נוסף ב-02-2022) 2001:4860:101d::/48 (נוסף באוקטובר 2025) 2001:4860:101e::/48 (נוסף באוקטובר 2025) 2001:4860:1031::/48 (נוסף 10-2025) 70.32.128.48/28 (נוספה באפריל 2024) 70.32.150.192/27 (נוספה ב-09-2025) 108.177.6.0/27 (נוספה בספטמבר 2025) 108.177.24.160/27 (נוספה בספטמבר 2025) 108.177.29.0/27 (נוספה 09-2025) 108.177.25.128/27 (נוספה במאי 2026) 108.177.26.128/26 (נוסף במאי 2026) 108.177.29.192/26 (נוספה במאי 2026) 172.217.120.64/26 (נוספה במאי 2026) 172.217.120.128/26 (נוסף במאי 2026) 2001:4860:1037::/48 (נוסף במאי 2026) 2001:4860:1038::/48 (נוסף במאי 2026) 2001:4860:103a::/48 (נוסף ב-05-2026) |
| מכשירים וירטואליים של Android (לא מבוססי-Arm) |
34.68.194.64/29 (נוסף בנובמבר 2019) 34.69.234.64/29 (נוסף בנובמבר 2019) 34.73.34.72/29 (נוספה בנובמבר 2019) 34.73.178.72/29 (נוסף בנובמבר 2019) 34.74.10.72/29 (נוסף ב-02-2022) 34.136.2.136/29 (נוסף בפברואר 2022) 34.136.50.136/29 (נוספה בפברואר 2022) 34.145.234.144/29 (נוסף בפברואר 2022) 35.192.160.56/29 35.196.166.80/29 35.196.169.240/29 35.203.128.0/28 35.234.176.160/28 35.243.2.0/27 (נוספה ביולי 2019) 35.245.243.240/29 (נוסף בפברואר 2022) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
| חסימות של כתובות IP במכשירים לא נמצאות יותר בשימוש |
74.125.122.32/29 (הוסרה בפברואר 2022) 216.239.44.24/29 (הוסר בפברואר 2022) |