{"id":14273,"url":"\/distributions\/14273\/click?bit=1&hash=820b8263d671ab6655e501acd951cbc8b9f5e0cc8bbf6a21ebfe51432dc9b2de","title":"\u0416\u0438\u0437\u043d\u044c \u043f\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0435 \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0440\u0435\u043d\u0434\u044b \u0440\u044b\u043d\u043a\u0430 \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438","buttonText":"","imageUuid":""}

Применение ферм девайсов в тестировании мобильных приложений

Firebase Test Lab vs Microsoft App Center

Мы в Open Solutions максимально автоматизируем процесс тестирования в наших проектах. Это позволяет заказчику сэкономить деньги, а нам - помогает максимально полно проверить функционал разрабатываемого нами продукта. В случае с мобильными приложениями, мы пришли к выбору сервиса автоматизации после того, как выстраивали систему на базе локальных ресурсов. Но со временем это стало неудобно из-за необходимости поддерживать актуальный парк устройств и заниматься их администрированием. Поэтому мы перешли на облачные фермы мобильных устройств и выбирали между Firebase Test Lab и Microsoft App Center. Об этом выборе мы и хотим рассказать в данной статье.

Что такое удаленные фермы устройств и зачем они нужны?

С каждым годом различных моделей и производителей мобильных устройств становится все больше и больше. Основное направление нашей компании - это заказная разработка ПО и нам попросту не выгодно покупать и содержать все модели телефонов. Нам на помощь пришли более крупные корпорации, такие как Microsoft или Google, а также сами производители мобильных устройств.

Они содержат у себя все эти модели телефонов с различными версиями ОС , а клиентам предоставляют доступ на запуск приложений и автотестов на них за определенную плату. Это и есть удаленные фермы мобильных устройств. В рамках данной статьи рассмотрим их применение для запусков автотестов.

Какие преимущества дают удаленные фермы:

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

Но без недостатков тоже не обойтись:

  • зачастую удаленные фермы предъявляют достаточно узкие требования по технологиям, с использованием которых должны быть написаны автотесты;
  • информация, предоставляемая по результатам прогона, ограничена.

Почему именно Firebase Test Lab и Microsoft App Center?

При выборе удаленной фермы мы исходили из практических соображений, поэтому выбирали из двух:

  • Firebase Test Lab. Потому что мы уже работаем в Firebase. Мы загружаем наши тестовые сборки приложений и собираем статистику. Удобно держать результаты автотестов в той же консоли. Достаточно зайти в одну систему и ты получишь полную информацию о своем приложении.
  • Microsoft App Center. Наша фирма является сертифицированным партнером Microsoft. Благодаря этому, нам доступна существенная скидка на использование всех сервисов, в том числе и App Center. А самый главный плюс - это большой выбор физических устройств.

Firebase Test Lab

Данный сервис предоставляется 11 виртуальных и 139 физических устройств для тестирования. Firebase дает возможность руками запускать 10 тестов на виртуальных и 5 тестов на физических устройствах в день совершенно бесплатно. За запуски через CI или увеличение доступных запусков в день придется платить.

Помимо запуска рукописных тестов, о них поговорим чуть позже, Test Lab умеет делать Robo-тесты. По сути это некое подобие monkey-тестов. Только здесь есть возможность задать тестовое окружение и, как говорится в документации, на одних и тех же данных тест будет выполнять одни и те же действия, что позволит проверить исправление ошибок.

К автотестам Firebase предъявляет ряд требований. Такие тесты должны быть написаны с использованием следующих фреймворков:

  • Grandle + JUnit + UIAutomator или Espresso для Android. UIAutomator используется для тестирования методом черного ящика. Espresso - белого.
  • XCUITests для iOS.

Основные сравнительные эксперименты мы проводили в части тестов на Android приложениях. Тестирование МП реализовывали методом черного ящика, поэтому выбрали следующий набор технологий: Grandle + JUnit + UIAutomator. До этого мы не были знакомы с UIAutomator независимо от Appium. Но разобраться получилось довольно быстро. Написание простенького теста на авторизацию с использованием PageObjects и отладка запусков в Firebase заняло около 3 дней.

Данные, которые мы получили по результатам прогона теста:

  • Список сценариев, которые выполнялись во время прогона.
  • Видео прогона.
  • Логи устройства.
  • Сведения о производительности.

Работа в Firebase Test Lab показалась довольно удобной, отчетность по результатам тестирования достаточно полная. Единственное - не хватало логов самих тестов дополнительно к логам телефона.

Microsoft App Center

App Center дает возможность тестировать на 374 смартфонах и 54 планшетах. Все устройства физические. На изучение инструмента дается пробный бесплатный период длиной в 30 дней. Далее начинает взиматься ежемесячная плата. Никаких ограничений по количеству устройств или количеству запусков в день нет.

Автотесты для запуска через App Center можно писать с использованием следующих фреймворков:

  • Maven + JUnit + Appium.
  • XCUITests для iOS.

С этим подходом к тестам мы уже были знакомы и написание теста на авторизацию заняло пару часов. Настроить запуск в App Center, также не составило труда, у сервиса хорошо написана документация, а интерфейс довольно интуитивен.

Данные, которые мы получили по результатам прогона теста:

  • Список сценариев, которые выполнялись во время прогона.
  • Скрины с ошибками и по окончанию теста.
  • Логи устройства.
  • Логи самих тестов.
  • Логи Appium.
  • Сведения о производительности(доступны не для всех устройств).

Фреймворки, работу которых поддерживает App Center, для нас оказались более привычными и знакомыми. Данные по результатам предоставляются довольно полные. Нет видео прогона, но при наличии логов тестов, оно не так критично. Наличие и количество скриншотов регулируется программно, что тоже очень удобно.

Есть один недостаток, с которым мы столкнулись уже в последующей работе: для тестов XCUITests логи самих тестов почему-то не пишутся. Сейчас активно общаемся с поддержкой сервиса. Скорее всего проблема связана с настройками тестов, уверены что она решится в ближайшее время.

Выводы

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

Мы остановили свой выбор на Microsoft App Center, потому что фреймворки оказались более удобными и знакомыми, а за счет того, что Open Solutions является партнером Microsoft сервис получается для нас очень выгодным.

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

Если у вас есть опыт использования ферм - поделитесь, пожалуйста, своим экспириенсом, мы будем очень благодарны!

Анастасия, ведущий тестировщик, Open Solutions

0
6 комментариев
Написать комментарий...
Oleg Zagrebelsky

что по деньгам?

Ответить
Развернуть ветку
Open Solutions
Автор

У обеих компаний очень широкий спектр вариантов. Если резюмировать, то:
Firebase от 300$ за 90 дней 
Appcenter от 40$/месяц 

Подробнее тут:
https://cloud.google.com/free и https://docs.microsoft.com/ru-ru/appcenter/general/pricing соответственно.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Open Solutions
Автор

Подобные ограничения если и есть, то не документированы. У нас был кейс когда в Appcenter не у всех iOS-устройств писались логи, но техподдержка быстро отвечает и исправляет подобные баги.
У ряда поставщиков есть бесплатный 30-дневный период для максимальной и честной проверки функционала и надежности фермы, можно им воспользоваться перед принятием решения.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Open Solutions
Автор

нет, такого опыта не было

Ответить
Развернуть ветку
3 комментария
Раскрывать всегда