Привет, Хабр! Меня зовут Ильнур, я – старший тестировщик в компании «Совкомбанк Технологии». В статье поделюсь опытом внедрения мобильной фермы STF, расскажу о её возможностях и объясню, кому такое решение будет полезно.

Что обсудим:

Проблема: высокий спрос на мобильное тестирование

За последние годы команда тестирования значительно выросла, а вместе с ней – потребность в мобильных устройствах. Ежедневно нам нужны смартфоны и планшеты для:

  • Тестирования и отладки кода

  • Анализа пользовательского поведения

  • Проверки PWA (Progressive Web Apps), которые требуют тестирования на реальных устройствах

Согласно данным StatCounter, более 58% интернет-трафика приходится на мобильные устройства, что делает их тестирование критически важным.

Мобильная ферма как решение

Чтобы оптимизировать доступ к устройствам, мы решили развернуть мобильную ферму – сервис для удаленного тестирования на реальных девайсах. Встал вопрос – какую ферму лучше выбрать.

Мобильные фермы делятся на:

  • Локальные фермы — устройства, подключенные через USB-хабы к серверу, например, на базе Raspberry Pi.

  • Облачные фермы — доступ к устройствам через облако AWS Device Farm, Firebase Test Lab и др.

  • Гибридные фермы — комбинация локальных и облачных решений.

Почему не облачные решения?

  • Ограниченный доступ к устройствам

  • Высокая стоимость при активном использовании

  • Невозможность тонкой настройки под наши нужды

Как мы развернули STF?

  1. Подключили физические устройства к серверу через USB-хабы.

  2. Настроили удалённый доступ через браузер.

  3. Реализовали интеграцию с инструментами разработки Android Studio и Appium.

Что получили: возможности, интерфейс и польза

Возможности STF

  • Поддержка Android 7.0 и выше (iOS не поддерживается)

  • Удалённое управление: установка APK, эмуляция действий, мониторинг логов

  • Интеграция с Appium, Selenium, Espresso

  • Мониторинг и отладка через Android Studio

Интерфейс

  • Удобный дашборд с доступными устройствами

  • Фильтрация по характеристикам (разрешение экрана, версия ОС)

  • Управление через веб-интерфейс (без необходимости физического доступа)

Кому пригодится

  • QA-инженеры — ручное и автоматизированное тестирование.

  • Разработчики — отладка на реальных устройствах.

  • Аналитики — проверка гипотез и анализ сценариев.

Обзор мобильной фермы Совкомбанк Технологий

Интерфейс

Интерфейс главной страницы фермы
Интерфейс главной страницы фермы

Меню:

  • Control — управление девайсом

  • Devices — просмотр и выбор девайсов

  • Groups — там хранится информация об активной группе, к которой вы подключены

  • Settings — настройки языка интерфейса, группы (доступно администраторам). Также можно создать или удалить access токены и ADB-ключи

Счетчики:

  • TOTAL DEVICES — сколько девайсов всего

  • USABLE DEVICES — сколько девайсов доступно

  • BUSY DEVICES — сколько девайсов занято

  • YOUR DEVICES — сколько девайсов занято конкретно вами

Вкладки:

  • Devices — табло для выбора и поиска девайсов

  • Details — все девайсы с параметрами

Список девайсов с параметрами

Самый распространенный кейс: Пользователь хочет найти девайс по заранее известным характеристикам. Сделать это можно в Details. Выбирая нужные параметры, находим что искали и, если девайс сейчас свободен, нажимаем Use (использовать).

Таблица параметров настраивается. Для понимания:

  • Status — статус: занято, свободно, не подключен

  • Model — модель/наименование устройства

  • OS — версия операционной системы

  • Screen — разрешение экрана

  • Browser — установленные браузеры

  • Прочие параметры: локация, батарея, кем занят и т.д.

Таблица параметров
Таблица параметров

Примечание: Если пользователь закрыл сайт фермы или долго не взаимодействовал с ним, устройство автоматически освобождается и становится доступным другим пользователям через 15 минут бездействия.

Управление девайсами

Платформа предлагает широкий функционал для работы с девайсом. Рассмотрим основные вкладки и их функционал.

#Dashboard – Приборная панель

Включает функции:

  • Navigation — переход по ссылкам. Сразу можно выбрать любой предзагруженный браузер на устройстве

  • App Upload — установка приложений из файла .apk переносом Drag&Drop или через проводник

  • Apps — быстрый доступ к приложениям: настройки, Play Market, WI-FI, меню разработчика и т.д.

  • Clipboard — буфер обмена подключенного устройства. Служит для запроса информации из буфера

  • Shell — командная строка для отправки ADB команд к устройству напрямую

  • Remote Debug - удаленная отладка через Android Studio. Отображается IP адрес устройства и порт для подключения

Рабочая панель
Рабочая панель

#Screenshots – Снимки экрана

Панель предназначена для создания, просмотра и управления снимками экрана подключенных устройств. Это полезный инструмент для визуального контроля, документирования тестов и отладки.

Наша версия STF не поддерживает запись видео, но такой функционал может быть доступен в других сборках.

Снимки экрана
Снимки экрана

#Automation – Автоматизация

Панель автоматизации. В нашей конфигурации автоматизация настраивается через API, а не через веб-интерфейс, поэтому данный раздел не используется.

#Advanced – Расширенный

Панель предоставляет доступ к расширенным функциям управления устройствами и их настройкам.

  • Advanced input — повторяет кнопки управления на физических устройствах (звук, блокировка, камера), а также специальные (смена раскладки, поиск, управление медиа)

  • Maintenance — перезагрузка устройства

  • Port Forwarding — перенаправление портов

Расширенные функции
Расширенные функции

#File Explorer
Панель предоставляет доступ к файловой системе подключенных устройств через веб-интерфейс.

Основные функции:

  • Просмотр файлов и папок

  • Отображение списка файлов с их атрибутами:размер, дата изменения

  • Загрузка, управление и скачивание файлов

  • Просмотр и извлечение данных установленных приложений

  • Доступ к системным логам

Файловая система
Файловая система

Примечание: Для доступа к некоторым разделам (например, /data) требуются root-права.

#Info – Информация

Панель Info служит для отображения детальной технической информации о подключенном устройстве. Это централизованный источник данных, помогающий быстро оценить состояние девайса и его характеристики.

Основные функции и отображаемые данные:

  1. Общие сведения об устройстве:

    • Модель, производитель, серийный номер

    • Версия ОС и уровень API

    • Состояние батареи:статус зарядки, уровень заряда, температура и напряжение аккумулятора

  2. Аппаратные характеристики:

    • Процессор:архитектура, количество ядер

    • Объем оперативной памяти (RAM) и встроенного хранилища

    • Разрешение экрана, плотность пикселей (DPI)

  3. Системная информация:

    • MEI (если доступно)

    • MAC-адреса сетевых интерфейсов

    • Состояние SIM-карты (для мобильных устройств)

Информационная панель
Информационная панель

#Logs – Журнал
Панель логов доступна в нижнем меню навигации. Для удобного просмотра логов есть фильтрация по времени, уровням логирования (Verbose/Debug/Error и др.), тегам или ключевым словам. Если нужно, то можно также скачать журнал со всеми записями (фильтры не учитываются) в двух форматах .json и .log.

Журнал
Журнал

Отзывы команды

Фидбэк по итогам первых месяцев работы с фермой:

Экономия времени: В среднем использование мобильной фермы не всегда экономит время. В некоторых случаях время выполнения задач совпадает с работой на физическом устройстве, например, 1 час на ферме vs 1 час на устройстве. В отдельных кейсах экономия достигается, например, 30 минут на ферме vs 1 час на устройстве. Однако есть и негативные примеры, где ферма увеличивает время выполнения задач из-за технических проблем, например, ошибки подключения, лаги.

Основные сложности: Технические проблемы включают ошибки авторизации, отключения Wi-Fi, пропадание экрана устройства при переключении вкладок. Также отмечается неудобная работа с логами: отсутствие фильтрации и невозможность копирования текста. Часто возникают проблемы с установкой приложений (ошибка INSTALL_ERROR_UNKNOWN), лаги и задержки ввода.

Ограничения функционала: Невозможность тестирования биометрии, камеры, NFC, мультитач-жестов. Отсутствие устройств на старых версиях Android (до 7.0) и некоторых брендов.

Неудобства интерфейса: Нет поддержки русской раскладки клавиатуры, неудобный скролл и свайп.

Успешные кейсы: Тестирование верстки и UI удобно для проверки адаптивности на разных устройствах (например, Galaxy A32, Pixel 7) и обеспечивает быстрый доступ к редким устройствам. Кроссплатформенное тестирование полезно для проверки совместимости на Android. Работа с логами через Android Studio получила положительные оценки (8-10/10).

Итог: Ферма полезна для веб-тестирования и проверки UI, но для сложных сценариев (биометрия, камера, производительность) проигрывает физическим устройствам. Основные улучшения нужны в стабильности подключения, работе с логами и поддержке русского ввода. Для более точной статистики по экономии времени можно выделить средние значения: экономия 10-30% в удачных кейсах, потери времени до 50% при технических сбоях.

Заключение

Мобильная ферма STF – мощный и многофункциональный инструмент в арсенале специалиста по тестированию и разработке. Платформа предоставляет централизованный доступ к парку физических устройств и широкие возможности для отладки, автоматизации тестирования, мониторинга производительности и интеграции в CI/CD процессы.
Особенностью решения является его ориентация исключительно на платформу Android. Поэтому, для обеспечения полного тестового покрытия мобильных приложений необходимо рассматривать отдельные специализированные решения для работы с парком iOS-устройств.

Планы на будущее:

● Расширение парка устройств STF фермы, чтобы закрыть все потребности команды
● Реализация функционала работы c Chrome DevTools и снифферами
● Запуск отдельной платформы для парка устройств на базе iOS

А как вы относитесь к мобильным фермам и STF в частности? Делитесь в комментариях своим опытом использования мобильных ферм!

Комментарии (5)


  1. chemtech
    23.10.2025 04:27

    А stf это ваша разработка или open source?


    1. SovcomTech Автор
      23.10.2025 04:27

      Спасибо за вопрос. STF - это open source проект – мы взяли эту платформу и развернули у себя.



  1. balgarot
    23.10.2025 04:27

    Интересная статейка, сколько времени заняла разработка и развертывание?


    1. SovcomTech Автор
      23.10.2025 04:27

      Добрый день!

      Спасибо за вопрос. Разработка и развертывание нашей мобильной фермы прошло в два этапа. Изначально реализовали MVP и на это ушло 3 дня. Далее, с учетом всех требований и согласований, выпустили рабочий вариант и это примерно еще 1 мес.