Привет, Хабр! Меня зовут Ильнур, я – старший тестировщик в компании «Совкомбанк Технологии». В статье поделюсь опытом внедрения мобильной фермы STF, расскажу о её возможностях и объясню, кому такое решение будет полезно.
Что обсудим:
Проблема: высокий спрос на мобильное тестирование
За последние годы команда тестирования значительно выросла, а вместе с ней – потребность в мобильных устройствах. Ежедневно нам нужны смартфоны и планшеты для:
Тестирования и отладки кода
Анализа пользовательского поведения
Проверки PWA (Progressive Web Apps), которые требуют тестирования на реальных устройствах
Согласно данным StatCounter, более 58% интернет-трафика приходится на мобильные устройства, что делает их тестирование критически важным.
Мобильная ферма как решение
Чтобы оптимизировать доступ к устройствам, мы решили развернуть мобильную ферму – сервис для удаленного тестирования на реальных девайсах. Встал вопрос – какую ферму лучше выбрать.
Мобильные фермы делятся на:
Локальные фермы — устройства, подключенные через USB-хабы к серверу, например, на базе Raspberry Pi.
Облачные фермы — доступ к устройствам через облако AWS Device Farm, Firebase Test Lab и др.
Гибридные фермы — комбинация локальных и облачных решений.
Почему не облачные решения?
Ограниченный доступ к устройствам
Высокая стоимость при активном использовании
Невозможность тонкой настройки под наши нужды
Как мы развернули STF?
Подключили физические устройства к серверу через USB-хабы.
Настроили удалённый доступ через браузер.
Реализовали интеграцию с инструментами разработки 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 служит для отображения детальной технической информации о подключенном устройстве. Это централизованный источник данных, помогающий быстро оценить состояние девайса и его характеристики.
Основные функции и отображаемые данные:
-
Общие сведения об устройстве:
Модель, производитель, серийный номер
Версия ОС и уровень API
Состояние батареи:статус зарядки, уровень заряда, температура и напряжение аккумулятора
-
Аппаратные характеристики:
Процессор:архитектура, количество ядер
Объем оперативной памяти (RAM) и встроенного хранилища
Разрешение экрана, плотность пикселей (DPI)
-
Системная информация:
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)

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

SovcomTech Автор
23.10.2025 04:27Добрый день!
Спасибо за вопрос. Разработка и развертывание нашей мобильной фермы прошло в два этапа. Изначально реализовали MVP и на это ушло 3 дня. Далее, с учетом всех требований и согласований, выпустили рабочий вариант и это примерно еще 1 мес.
chemtech
А stf это ваша разработка или open source?
SovcomTech Автор
Спасибо за вопрос. STF - это open source проект – мы взяли эту платформу и развернули у себя.
chemtech
Нашел https://github.com/openstf/stf