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

Налаштування тестування на реальних пристроях через Firebase Test Lab Емулятор бреше. Не зловмисно, але систематично: GPU-рендеринг інший, Bluetooth недоступний, камера симульована, поведінка пам'яті відрізняється від реального пристрою. Ми в TrueTech за 10+ років досвіду з мобільними проєктами с

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

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

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

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

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

Часті запитання

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

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

Емулятор бреше. Не зловмисно, але систематично: GPU-рендеринг інший, Bluetooth недоступний, камера симульована, поведінка пам'яті відрізняється від реального пристрою. Ми в TrueTech за 10+ років досвіду з мобільними проєктами стикалися з цим десятки разів. 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 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=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)" 

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=ru_RU,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 — скріншоти, відео, логкати, XML-звіт.

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

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

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

Що входить в налаштування під ключ

Ми пропонуємо повний цикл:

  • Аналіз вашого парку пристроїв за даними аналітики
  • Конфігурація матриці з 3–5 пристроїв
  • Написання Robo Script для авторизації (якщо потрібно)
  • Інтеграція в CI (GitHub Actions, GitLab CI, Bitrise)
  • Навчання команди роботі з результатами
  • Гарантія коректної роботи протягом 5 днів після здачі

Досвід наших інженерів — 40+ проєктів з Firebase Test Lab. Зв'яжіться з нами для оцінки вашого проєкту — ми підберемо оптимальну конфігурацію.

Строки

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

Як Firebase Test Lab економить час на регресіях?

Robo-тести без жодного рядка коду знаходять креші та ANR на реальних пристроях швидше, ніж ручне тестування. За нашими даними, це економить до 40% часу QA-циклу. У поєднанні з Instrumentation-тестами ви отримуєте повне покриття за лічені години.