Device Farm: що це, хмарні сервіси та реальні пристрої

Автор: IT Sectr Опубліковано: 2026-04-11 Час читання: 9 хв

Device Farm — це хмарний сервіс, що надає віддалений доступ до сотень реальних мобільних пристроїв для автоматичного та ручного тестування додатків. Розробники завантажують APK або IPA, обирають конфігурації пристроїв та запускають тести паралельно, не купуючи фізичні пристрої. За даними звіту Perfecto, 2025, команди, що використовують Device Farm, скорочують час регресійного тестування на 73% порівняно з локальними фермами пристроїв.

Головне

  • Device Farm — хмарна ферма реальних мобільних пристроїв, доступна за підпискою
  • Паралельний запуск тестів на кількох пристроях скорочує час перевірки з днів до годин
  • AWS Device Farm, BrowserStack та Firebase Test Lab — три найбільших провайдера
  • Крос-браузерне тестування підтримується на емуляторах та симуляторах
  • CI/CD інтеграція дозволяє запускати тести на Device Farm автоматично при кожному коміті

Що таке Device Farm

Device Farm — це інфраструктурне рішення для тестування мобільних додатків, що надає віддалений доступ до фізичних та віртуальних пристроїв через інтернет. На відміну від придбання та обслуговування власної лабораторії пристроїв, розробники орендують час на сторонніх пристроях, оплачуючи лише фактичне використання.

Навіщо потрібен Device Farm

Ринок мобільних пристроїв налічує понад 24 000 унікальних моделей Android-смартфонів за даними OpenSignal, 2025. Фізично придбати всі популярні моделі для тестування неможливо — це потребуватиме мільйонів доларів інвестицій та постійного оновлення парку. Device Farm вирішує цю проблему, надаючи доступ до актуальних пристроїв за підпискою.

Фізичні пристрої проти емуляторів

Емулятори та симулятори покривають лише 60–70% сценаріїв тестування. Реальні пристрої необхідні для перевірки сенсорів, камери, GPS, рівня заряду батареї, продуктивності на слабкому залізі та поведінки при вхідних дзвінках. Device Farm поєднує обидві підходи: емулятори для швидких smoke-тестів та фізичні пристрої для повної верифікації.

Кому підходить Device Farm

Device Farm підходить для стартапів, що випускають перший додаток, зрілих продуктових команд з регулярними релізами та enterprise-проектів з десятками додатків. Доцільність використання зростає з збільшенням кількості цільових пристроїв та частоти релізів — чим більше конфігурацій потрібно перевірити, тим вигідніша хмарна модель.

Як працює Device Farm

Типовий сценарій роботи з Device Farm включає п’ять етапів: завантаження білду, вибір пристроїв, налаштування тестів, запуск та аналіз результатів. Кожен етап автоматизується через API, що дозволяє вбудувати Device Farm в CI/CD конвієр без ручного втручання.

Завантаження додатка

Розробник завантажує зібраний APK (Android), AAB або IPA (iOS) у хмарне сховище провайдера. Деякі сервіси, наприклад Firebase Test Lab, приймають також проекти Xcode або Android Studio безпосередньо. Розмір файлу обмежений: AWS Device Farm підтримує до 200 МБ, BrowserStack — до 500 МБ.

Вибір конфігурацій

З каталогу пристроїв обираються цільові моделі та версії ОС. Сучасні Device Farm підтримують групування: «всі флагмани 2024–2025» або «бюджетні Android з Android 13–14». Паралельне виконання дозволяє запустити один тест одночасно на 10–50 пристроях, скорочуючи загальний час до хвилин.

Запуск та моніторинг

Тести виконуються на реальних пристроях у дата-центрах провайдера. Розробник спостерігає за ходом виконання через веб-консоль у реальному часі: логи, скріншоти та відео проходження тесту. При падінні тесту Device Farm робить снімок екрана та збирає crash-лог для діагностики.

groovy
// Пример конфигурации Device Farm в Jenkinsfile
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh './gradlew assembleDebug'
            }
        }
        stage('Device Farm Tests') {
            steps {
                sh '''aws device-farm schedule-run
                    --project-arn arn:aws:devicefarm:us-west-2:123:project:1
                    --app-arn arn:aws:devicefarm:us-west-2:123:app:1
                    --device-pool-arn arn:aws:devicefarm:us-west-2:123:pool:1
                    --test-arn arn:aws:devicefarm:us-west-2:123:test:1'''
            }
        }
    }
}

Ключові можливості Device Farm

Сучасні Device Farm надають не лише запуск тестів, але й супутні інструменти для діагностики, моніторингу продуктивності та інтеграції з іншими сервісами розробки. Набір функцій варіюється між провайдерами, але ядро лишається спільним.

Автоматичне тестування

Підтримуються всі основні фреймворки: Espresso та UI Automator для Android, XCTest та XCUITest для iOS, Appium та Calabash для кросплатформенних проектів. Device Farm запускає тести без модифікації коду — достатньо вказати тестовий фреймворк при конфігурації.

Ручне інтерактивне тестування

Розробник отримує віддалений доступ до реального пристрою через браузер: дотики, свайпи, поворот екрана, натискання кнопок — всі дії транслюються в реальному часі. Інтерактивний режим незамінний для відтворення рідкісних багів, які не покриті автотестами. AWS Device Farm надає до 60 хвилин ручного сеансу без додаткової плати.

Збір діагностичних даних

Після кожного прогону Device Farm генерує звіт: відеозапис тесту, покрокові скріншоти, логи пристрою (logcat для Android, syslog для iOS), дані про продуктивність (CPU, пам’ять, мережа) та crash-стек. Ці дані допомагають локалізувати проблему без відтворення на локальному пристрої.

CI/CD інтеграція

Всі великі Device Farm надають плагіни для Jenkins, GitLab CI, GitHub Actions та CircleCI. Webhook-повідомлення сповіщають команду про результати тестів через Slack, Telegram або електронну пошту. Налаштування CI/CD інтеграції — стандартна практика для команд, що практикують неперервну поставку.

ФункціяAWS Device FarmBrowserStackFirebase Test Lab
Фізичні пристроїТакТакТак
ЕмуляториТакТакТак
Ручне тестуванняТакТакНі
Локалізація багівВідео + логиВідео + логиТільки логи
Безкоштовний ліміт1000 хв/міс60 хв пробнийТести в Firebase — безкоштовні

Ринок Device Farm представлений трьома основними категоріями: хмарні провайдери загального призначення (AWS), спеціалізовані сервіси тестування (BrowserStack) та інструменти в екосистемі платформи (Firebase). Вибір залежить від стеку технологій та бюджету команди.

AWS Device Farm

Інтегрований з екосистемою Amazon Web Services. Розробники, які вже використовують AWS для хостінгу та CI/CD, отримують єдиний контракт та безшовну інтеграцію з CodePipeline та CodeBuild. AWS Device Farm підтримує тестування Android, iOS та веб-додатків на фізичних пристроях та емуляторах.

BrowserStack App Automate

Найбільший незалежний провайдер з парком понад 3 000 реальних пристроїв. BrowserStack відомий зручним веб-інтерфейсом, швидкістю надання пристрою (10–15 секунд) та підтримкою Appium без складного налаштування. Сервіс автоматично оновлює парк пристроїв протягом тижня після виходу нової моделі.

Firebase Test Lab

Безкоштовний сервіс від Google для Android-додатків з можливістю тестування iOS (обмежено). Firebase Test Lab особливо привабливий для стартапів: базові сценарії тестування доступні без підписки. Інтеграція з Firebase Console та Crashlytics дозволяє пов’язувати падіння тестів з реальними крашами в продакшні.

Інші провайдери

На ринку присутні: Samsung Remote Test Lab (безкоштовний доступ до пристроїв Samsung), Kobiton (орієнтований на enterprise з on-premise розгортанням), Perfecto (придбаний Perforce, фокус на фінансовому секторі) та Sauce Labs (один з найстаріших сервісів, тепер частина Tricentis).

Приклад запуску тестів на Device Farm

Розглянемо інтеграцію Firebase Test Lab з командним рядком для Android-додатка. Firebase Test Lab запускає тести через gcloud CLI, що дозволяє вбудувати запуск в будь-який CI-конвієр без додаткових плагінів. Приклад демонструє мінімальну конфігурацію smoke-тесту на трьох пристроях.

bash
# Установка gcloud CLI и авторизация
gcloud auth login
gcloud config set project my-android-app

# Загрузка APK в Firebase Test Lab
gcloud firebase test android run \
    --app app-debug.apk \
    --test app-debug-test.apk \
    --type instrumentation \
    --device model=Pixel7,version=34 \
    --device model=SamsungS23,version=33 \
    --device model=OnePlus12,version=34 \
    --timeout 30m \
    --results-bucket gs://my-app-test-results

Команда завантажує два файли: сам білд та тестовий APK з інструментаційними тестами Espresso. Firebase Test Lab автоматично обирає останню доступну версію ОС для кожної моделі, якщо версія не вказана явно. Результати зберігаються в Google Cloud Storage у форматі XML та HTML для перегляду в браузері.

Інтеграція з GitHub Actions

Для автоматичного запуску при кожному push використовуйте GitHub Actions. Воркфлоу збирає додаток, запускає Firebase Test Lab та повертає статус перевірки.

yaml
name: Android CI with Device Farm
on: [push]
jobs:
  test-on-devices:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-java@v4
        with:
          distribution: temurin
          java-version: 17
      - run: ./gradlew assembleDebug assembleDebugAndroidTest
      - uses: google-github-actions/auth@v2
        with:
          credentials_json: ${{ secrets.GCP_SA_KEY }}
      - run: gcloud firebase test android run
          --app app/build/outputs/apk/debug/app-debug.apk
          --test app/build/outputs/apk/androidTest/debug/app-debug-test.apk
          --device model=Pixel8,version=35

Моделі ціноутворення Device Farm

Вартість Device Farm складається з кількох параметрів: кількість паралельних сесій, тип пристрою (фізичний або емулятор), тривалість тестування та додаткові функції. Важливо розуміти структуру витрат до вибору провайдера, щоб уникнути несподіваних витрат при масштабуванні.

Хвилини тестування

Більшість провайдерів тарифікують фактичний час використання пристрою. Фізичні пристрої коштують у 2–5 разів дорожче за емулятори. AWS Device Farm пропонує 1000 безкоштовних хвилин на місьць для нових акаунтів, BrowserStack — 60 хвилин пробного періоду. Середня вартість хвилини на фізичному Android-пристрої становить $0.05–0.17.

Підписка на команду

Для регулярного тестування вигідніша фіксована підписка. BrowserStack пропонує план Team за $299/місь на 3 користувачів з необмеженою кількістю хвилин на фізичних пристроях. AWS Device Farm не має фіксованої підписки — оплата йде за кожну хвилину, що зручно при нерегулярному навантаженні, але дорожче при інтенсивному використанні.

Приховані витрати

При розрахунку бюджету враховуйте: зберігання артефактів тестування (відео, скріншоти, логи) — AWS Device Farm зберігає результати до 90 днів без додаткової плати, BrowserStack — до 30 днів; мережевий трафік при завантаженні великих APK/IPA; кількість паралельних сесій — збільшення паралелізму може потребувати дорожчого тарифу.

Часто запитувані питання

Чим Device Farm відрізняється від звичайного емулятора?

Емулятор імітує пристрій програмно на вашому комп’ютері, а Device Farm надає доступ до реального фізичного пристрою з оригінальною прошивкою, процесором та сенсорами. Тільки на реальному пристрої можна перевірити камеру, GPS, температуру корпусу та взаємодію з мережею оператора.

Чи можна використовувати Device Farm для iOS додатків?

Так, усі великі провайдери підтримують iOS. Для тестування потрібен IPA-файл, зібраний з development-сертифікатом. BrowserStack та AWS Device Farm надають фізичні iPhone та iPad, Firebase Test Lab підтримує iOS через симулятори macOS у дата-центрі.

Як Device Farm інтегрується з Jenkins?

Jenkins інтегрується через плагіни (наприклад, AWS Device Farm Plugin) або CLI-команди, що запускаються на етапі збірки. Плагін автоматично завантажує артефакти збірки, запускає тести на вибраних пристроях та повертає результат в Jenkins pipeline.

Який Device Farm вибрати для стартапу?

Для стартапу оптимальний Firebase Test Lab — базові можливості безкоштовні, інтеграція з Android Studio працює з коробки. Для iOS-проектів BrowserStack надає 60 хвилин безкоштовного тестування. По мірі зростання команди переходять на платні підписки з повним парком пристроїв.

Чи безпечно завантажувати додаток в Device Farm?

Великі провайдери дотримуються сертифікації SOC 2 та шифрують дані під час передачі та зберігання. AWS Device Farm працює в ізольованих акаунтах AWS, BrowserStack використовує одноразові пристрої для кожної сесії. Конфіденційні дані (API-ключі) рекомендується виносити в build config.

Підсумки

  • Device Farm — хмарна інфраструктура для тестування на реальних пристроях, що замінює фізичну лабораторію
  • Паралельний запуск тестів на десятках пристроїв скорочує час регресійного тестування з днів до 1–2 годин
  • AWS Device Farm, BrowserStack та Firebase Test Lab — три основних провайдери з різними моделями ціноутворення
  • Фізичні пристрої необхідні для перевірки сенсорів, продуктивності та взаємодії з ОС
  • CI/CD інтеграція Device Farm з Jenkins, GitHub Actions та GitLab CI забезпечує автоматичне тестування при кожному коміті
  • Вибір провайдера залежить від стеку технологій: Firebase зручний для Android, BrowserStack — для кросплатформенних проектів, AWS — для команд в екосистемі Amazon
  • Рекомендація: починайте з Firebase Test Lab для Android та BrowserStack для iOS, потім масштабуйте до AWS Device Farm при зростанні команди

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також