Налаштування тестування на реальних пристроях через Firebase Test Lab

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Налаштування тестування на реальних пристроях через Firebase Test Lab
Середній
~2-3 дні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Налаштування тестування на реальних пристроях через Firebase Test Lab

Емулятор брехає. Не злобно, але систематично: GPU-рендеринг інший, Bluetooth недоступний, камера симульована, поведінка пам'яті відрізняється від реального пристрою. Firebase Test Lab дає доступ до фізичних пристроїв — Pixel 8, Samsung Galaxy S24, планшетів, старих Xiaomi з кастомними прошивками. Тест, який пройшов на емуляторі, може упасти на Samsung One UI через кастомний WebView або змінену систему розрешень.

Що вміє Firebase Test Lab

Два режими тестування:

Instrumentation Tests — запускає ваші Espresso / XCUITest тесты на обраних пристроях. Повний контроль над тим, що перевіряється.

Robo Test — автоматичний краулер. Запускаєте APK без жодного написаного тесту, Robo самостійно обходить інтерфейс по Accessibility-дереву, натискає кнопки, заповнює поля випадковими даними, ищет крєші. Корисний для швидкої перевірки нових збірок перед релізом.

Підтримка платформ: Android (Espresso, UI Automator, Appium) та iOS (XCUITest). Firebase Test Lab для iOS — окрема історія з меншим парком пристроїв, але реальні iPhone та iPad все одно цінніші, ніж симулятор.

Налаштування: від завантаження білда до результатів

Android

Збірка APK та тест-APK:

./gradlew assembleDebug assembleAndroidTest

Завантаження та запуск через gcloud:

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=uk,orientation=portrait \
  --device model=a54xnsxx,version=13,locale=uk,orientation=portrait \
  --results-bucket gs://my-project-test-results \
  --results-dir "run_$(date +%Y%m%d_%H%M%S)"

model=a54xnsxx — це Samsung Galaxy A54. Список доступних моделей: gcloud firebase test android models list.

Матриця пристроїв

Вибір матриці — окрема аналітична задача. Немає сенсу гонити тесты на 50 пристроях. Принцип:

Критерій Що включаємо
Топ-5 пристроїв з аналітики По даних Firebase Analytics / Crashlytics
Мінімальна поддерживаемая версія ОС minSdkVersion / deployment target
Поточна версія ОС Android 14 / iOS 17
Samsung (One UI) Окремо — через кастомізації
Планшет Якщо підтримується форм-фактор

Реалістична матриця для більшості проектів: 3–5 пристроїв. Більше — дорожче й довше, але не обов'язково інформативніше.

iOS

Для iOS потрібна .ipa з development-підписом (не distribution). Завантаження:

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

MyAppTests.zip — архив з .xctestrun файлом та тест-продуктами. Збирається через xcodebuild build-for-testing.

Robo Test з кастомним скриптом

Чистий 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

Service account повинен мати роль Firebase Test Lab Admin. Результати автоматично зберігаються у Cloud Storage — скриншоти, відео, logcats, XML-звіт.

Аналіз результатів

У консолі Firebase Test Lab для кожного запуску доступні:

  • Відеозапис прохідження тесту
  • Logcat з фільтром по тегам
  • Скриншоти у ключових точках
  • Звіт про покриття (якщо включений jacoco)
  • XML-результаты в форматі JUnit (для Allure / Jenkins)

Строки

2–3 дні — налаштування Firebase Test Lab, конфігурація матриці пристроїв, інтеграція у CI, налаштування Robo Script для авторизації. Плюс час на першу аналіз результатів та усунення проблем, специфічних для пристроїв. Вартість розраховується індивідуально.