הגדרת בדיקות על מכשירים אמיתיים עם Firebase Test Lab

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

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
הגדרת בדיקות על מכשירים אמיתיים עם Firebase Test Lab
בינוני
~2-3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

הגדרת בדיקות על מכשירים פיזיים עם Firebase Test Lab

אמולטורים משקרים. לא בזדון, אבל באופן שיטתי: עיבוד GPU שונה, Bluetooth לא זמין, המצלמה מדומה, והתנהגות הזיכרון אינה כמו במכשיר אמיתי. בצוות שלנו, עם ניסיון של למעלה מ-5 שנים בפרויקטים למובייל, נתקלנו בזה עשרות פעמים. Firebase Test Lab מספק גישה למכשירים פיזיים — Pixel 8, Samsung Galaxy S24, טאבלטים, ומכשירי Xiaomi ישנים עם קושחה מותאמת אישית. בדיקה שעוברת על אמולטור יכולה לקרוס על Samsung One UI בגלל WebView מותאם או מערכת הרשאות משונה. הזמינו הגדרה מסודרת — נכין את המטריצה, Robo Script, ואינטגרציית CI תוך 2–3 ימים.

למה אמולטורים נכשלים ומכשירים אמיתיים לא

אמולטורים לא משחזרים פרטים חומרתיים: התנהגות זיכרון שונה, חוסר בחיישנים אמיתיים (מד תאוצה, גירוסקופ), ומצלמה מדומה. מכשירים אמיתיים חושפים בעיות עם התראות push (APNs/FCM), ריצה ברקע (Background fetch), וקישורים עמוקים (Universal Links / App Links). לפי הנתונים שלנו, כ-30% מהקריסות שנמצאות על מכשירים פיזיים לא ניתנות לשחזור על אמולטור. שימוש ב-Firebase Test Lab מבטיח שהאפליקציה שלכם מוכנה למשתמשים אמיתיים.

מה Firebase Test Lab יכול לעשות

שני מצבי בדיקה:

בדיקות Instrumentation — מריצות את בדיקות Espresso / XCUITest שלכם על מכשירים נבחרים. שליטה מלאה במה שנבדק.

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

פלטפורמות נתמכות: Android (Espresso, UI Automator, Appium) ו-iOS (XCUITest). ל-Firebase Test Lab ל-iOS יש מאגר מכשירים קטן יותר, אבל אייפונים ואייפדים אמיתיים עדיין שווים יותר מסימולטור.

הגדרה: מהעלאת Build ועד תוצאות

Android

בנו APK ו-APK לבדיקות:

./gradlew assembleDebug assembleAndroidTest 

העלו והריצו דרך ./gradlew assembleDebug assembleAndroidTest :

gcloud firebase test android run \
  --type instrumentation \
  --app app/build/outputs/apk/debug/app-debug.apk \
  --test app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk \
  --device model=Pixel8,version=34,locale=ru,orientation=portrait \
  --device model=a54xnsxx,version=13,locale=ru,orientation=portrait \
  --results-bucket gs://my-project-test-results \
  --results-dir "run_$(date +%Y%m%d_%H%M%S)"

gcloud הוא Samsung Galaxy A54. הצגת דגמים זמינים: gcloud firebase test android run \ --type instrumentation \ --app app/build/outputs/apk/debug/app-debug.apk \ --test app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk \ --device model=Pixel8,version=34,locale=ru,orientation=portrait \ --device model=a54xnsxx,version=13,locale=ru,orientation=portrait \ --results-bucket gs://my-project-test-results \ --results-dir "run_$(date +%Y%m%d_%H%M%S)" .

מטריצת מכשירים

בחירת מטריצה היא משימה אנליטית נפרדת. אין טעם להריץ בדיקות על 50 מכשירים. עיקרון:

קריטריון מה לכלול
5 המכשירים המובילים מהאנליטיקה מנתוני Firebase Analytics / Crashlytics
גרסת מערכת הפעלה מינימלית נתמכת minSdkVersion / deployment target
גרסת מערכת הפעלה עדכנית Android 14 / iOS 17
Samsung (One UI) בנפרד בגלל התאמות אישיות
טאבלט אם פורמט המסך נתמך

מטריצה ריאלית לרוב הפרויקטים: 3–5 מכשירים. יותר זה יקר ואיטי יותר, אבל לא בהכרח אינפורמטיבי יותר.

iOS

ל-iOS, צריך model=a54xnsxx עם חתימת פיתוח (לא הפצה). העלאה:

gcloud firebase test ios run \
  --test MyAppTests.zip \
  --device model=iphone15pro,version=17.4,locale=ru_RU,orientation=portrait

gcloud firebase test android models list הוא ארכיון עם קובץ .ipa ומוצרי בדיקה. בנייה דרך gcloud firebase test ios run \ --test MyAppTests.zip \ --device model=iphone15pro,version=17.4,locale=ru_RU,orientation=portrait .

בדיקת Robo עם סקריפט מותאם

הסורק Robo הרגיל לפעמים נתקע על מסך הכניסה — הוא לא יודע את פרטי הגישה. Robo Script מאפשר להגדיר פעולות ראשוניות:

[
  {
    "eventType": "VIEW_TEXT_CHANGED",
    "replacementText": "[email protected]",
    "elementDescriptors": [
      {
        "resourceName": "com.example.app:id/email_input"
      }
    ]
  },
  {
    "eventType": "VIEW_CLICKED",
    "elementDescriptors": [
      {
        "resourceName": "com.example.app:id/login_button"
      }
    ]
  }
]

לאחר אימות, Robo ממשיך לסרוק את החלק המאומת של האפליקציה. זו דרך מהירה לבדוק רגרסיות בלי לכתוב בדיקות.

אינטגרציית CI

GitHub Actions:

---
- name: Set up gcloud
  uses: google-github-actions/setup-gcloud@v2
  with:
    service_account_key: ${{ secrets.GCLOUD_SERVICE_ACCOUNT_KEY }}
    project_id: my-firebase-project
- name: Run tests on Firebase Test Lab
  run: |
    gcloud firebase test android run \
      --app app-debug.apk \
      --test app-debug-androidTest.apk \
      --device model=Pixel8,version=34 \
      --timeout 10m
---

נדרש חשבון שירות עם תפקיד MyAppTests.zip. תוצאות נשמרות אוטומטית ב-Cloud Storage — צילומי מסך, סרטונים, logcats, ודוחות XML.

ניתוח תוצאות

בקונסולת Firebase Test Lab, עבור כל ריצה מקבלים:

  • הקלטת וידאו של הבדיקה
  • Logcat עם מסנני תגים
  • צילומי מסך בנקודות מפתח
  • דוח כיסוי (אם jacoco מופעל)
  • תוצאות XML בפורמט JUnit (ל-Allure / Jenkins)

מה כלול בהגדרה מסודרת

אנחנו מציעים מחזור מלא:

  • ניתוח מערך המכשירים שלכם לפי נתוני אנליטיקה
  • הגדרת מטריצת 3–5 מכשירים
  • כתיבת Robo Script לאימות (אם נדרש)
  • אינטגרציית CI (GitHub Actions, GitLab CI, Bitrise)
  • הדרכת צוות על עבודה עם תוצאות
  • אחריות לפעולה תקינה למשך 5 ימים לאחר המסירה

למהנדסים שלנו יש ניסיון עם 30+ פרויקטים המשתמשים ב-Firebase Test Lab. צרו קשר להערכת פרויקט — נמצא את התצורה האופטימלית.

לוח זמנים

2–3 ימים — הגדרת Firebase Test Lab, הגדרת מטריצת מכשירים, אינטגרציית CI, כתיבת Robo Script לאימות. בנוסף, זמן לניתוח ראשוני של תוצאות ותיקון בעיות ספציפיות למכשירים. העלות מחושבת באופן אישי.

איך Firebase Test Lab חוסך זמן ברגרסיות

בדיקות Robo ללא שורת קוד אחת מוצאות קריסות ו-ANRs על מכשירים אמיתיים מהר יותר מבדיקות ידניות. לפי הנתונים שלנו, זה חוסך עד 40% מזמן מחזור ה-QA. בשילוב עם בדיקות Instrumentation, מקבלים כיסוי מלא תוך שעות ספורות.