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 решает эту проблему, предоставляя доступ к актуальным устройствам по подписке.

Физические устройства vs эмуляторы

Эмуляторы и симуляторы покрывают только 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 или email. Настройка 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 (acquired by 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 автоматически выбирает последнюю доступную версию ОС для каждой модели, если version не указана явно. Результаты сохраняются в 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 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

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