- PVSM.RU - https://www.pvsm.ru -

7 лучших ферм устройств для тестирования мобильных приложений

Еще в далекие времена, когда балом смартфонов заправляли Nokia и Microsoft, возникла одна характерная особенность мобильной разработки — разношерстность устройств по характеристикам и модификациям операционок. Приходилось тестировать приложение не только на разных версиях ОС, но и на разных физических устройствах. После выхода iOS самих моделей телефонов всегда было мало, поэтому с ними проблем не возникало. А вот в мире Android проблема фрагментации встала во весь рост. Моделей на рынке тысячи, и все время появляются новые, и твое приложение или игра должны гарантированно работать на каждой из них. Добавим еще разные версии прошивок на этих моделях… И поймем, что вручную потребуется куча человеко-часов для проверки каждого релиза.

7 лучших ферм устройств для тестирования мобильных приложений - 1

Примечание: мы продолжаем серию публикаций полных версий статей из журнала Хакер [1]. Орфография и пунктуация автора сохранены.

Фермы устройств

Так как проблема с разнообразием парка устройств возникла еще в стародавние времена, уже Nokia начала предлагать своим разработчикам сервис по аренде смартфонов. Можно было поставить приложение на устройство и в режиме удаленного управления руками пройти по ключевым сценариям. Это было бесплатно, и некоторые устройства приходилось долго ждать, зато такое тестирование давало разработчику надежду, что софт будет работать корректно на различных смартфонах и, значит, у пользователей претензий не окажется. Начинание было хорошим, и фермы устройств получили свое дальнейшее развитие — сами ОС начали предоставлять инструменты для имитации действий пользователя. То есть тестировщик или разработчик пишут скрипт, притворяющийся человеком. Добавь сюда удобные DevOps-инструменты для сборки и автоматического запуска этих скриптов — и можно забыть о той мрачной картине с кучей человеко-часов для каждого релиза.

В прошлых статьях (первая [2] и вторая [3], если ты их еще не читал) мы уже рассматривали использование мобильных DevOps-конвейеров, поэтому сейчас можем сфокусироваться на подборе отдельной облачной фермы устройств.

7 лучших ферм устройств для тестирования мобильных приложений - 2

Сегодня мы поговорим про популярные облачные фермы устройств: Firebase Test Lab, Samsung Remote Test Lab, AWS Device Farm, Sauce Labs, Xamarin Test Cloud, Perfecto.

Как это работает

Встроенная автоматизация UI-тестирования появилась относительно недавно: iOS 9.0 (XCTest UI) и Android 4.3 (UI Automator, хотя Espresso и работал с Android 2.2).

На нижнем уровне все реализовано достаточно просто: вместе с приложением запускается специальный скрипт, который заставляет ОС имитировать работу реального пользователя: касания, поглаживания, жесты пальцами и нажатия на кнопки устройства.

Существует несколько популярных подсистем для выполнения скриптов: Appium, Calabash, Espresso, Robotium, UI Automator for Android, XCTest for iOS, которые, в свою очередь, поддерживают один или несколько языков программирования — Ruby, C#, Java, Python, Swift.

Бесплатно и сердито

Так как проблема с разнородностью парка устройств актуальна в первую очередь для Android, то знакомство мы начнем с ферм Google и Samsung.

7 лучших ферм устройств для тестирования мобильных приложений - 3

Samsung Remote Test Lab

Первым на очереди у нас будет сервис Samsung Remote Test Lab [4]. Этот сервис технологически уже устарел и не стоил бы упоминания в нашей статье, если бы не одно но. Samsung — лидер и один из законодателей на рынке Android-смартфонов, поэтому ранний доступ к флагманским новинкам позволит проверить работу твоего приложения еще до появления устройств в продаже. Плюс там есть доступ к устройствам на базе Tizen: линейка смартфонов Z и смарт-часы Gear.

7 лучших ферм устройств для тестирования мобильных приложений - 4

Работа с сервисом выглядит следующим образом: ты резервируешь устройство и запускаешь специальное Java-приложение, которое предоставляет удаленный доступ к экрану и устройствам ввода (тачскрин, кнопки). На текущий момент доступно 25 моделей смартфонов и планшетов, каждая из моделей в нескольких экземплярах и модификациях. Автоматизация делается на уровне ручной записи последовательности событий, а устанавливать приложение надо руками. В целом не ахти какие возможности, но зато совершенно бесплатно. И самое вкусное — Samsung Remote Test Lab поддерживает удобный режим удаленной отладки! Так что можно смело рекомендовать этот сервис в качестве дополнительной фермы для ручного тестирования на устройствах Samsung.

Firebase Test Lab for Android

7 лучших ферм устройств для тестирования мобильных приложений - 5

Наш следующий сервис разработан в стенах Google и называется Firebase Test Lab for Android [5]. В целом Firebase хорошо подходит командам, специализирующимся на разработке для Android, а ферма устройств — это лишь один из инструментов. На текущий момент доступно не так много моделей устройств (около 30, список ниже на скриншоте), однако имеется также возможность запуска на эмуляторах. Test Lab включен в единую подписку на сервис Firebase и для старта может быть совершенно бесплатен.

7 лучших ферм устройств для тестирования мобильных приложений - 6

Firebase Test Lab, в отличие от сервиса Samsung, легко интегрировать в DevOps-конвейер. Тестовые сценарии возможно реализовать с помощью инструментов Espresso, Robotium, UI Automator 2.0 и Robo. Во время выполнения сценариев делаются скриншоты. В целом это хорошее решение для Android-разработки небольших проектов с использованием нативных инструментов. Дешево (бесплатно!) и сердито.

Специализированные профессиональные фермы

Не Samsung’ом единым живут Android-разработчики, поэтому продолжить наш обзор хотелось бы более крупными фермами, которые поддерживают iOS, имеют большой парк моделей и требуют денег.

AWS Device Farm

7 лучших ферм устройств для тестирования мобильных приложений - 7

В AWS Device Farm [6] доступно почти 400 устройств (около 100 моделей), цены от 0,17 доллара за минуту, есть анлим (!) и 1000 первых минут бесплатно. Стоит отметить высокое качество сервиса и возможность интеграции в DevOps-конвейер. Для написания скриптов можно использовать Appium (iOS + Android), Calabash (iOS + Android), Espresso (Android), Robotium (Android), UI Automation (iOS) и XCTest (iOS) и ряд других.

Xamarin Test Cloud

7 лучших ферм устройств для тестирования мобильных приложений - 8

Следующий профессиональный сервис — Xamarin Test Cloud [7]. Более 2500 (не опечатка) реальных устройств! Поддерживаются iOS, Android и полный набор возможностей (скриншоты, автоматизированные скрипты, видео, обещают еще и удаленную отладку и запись в будущем). За все про все — от 99 долларов в месяц. Сервис идеально подходит как разработчикам кросс-платформенных решений (Xamarin, React Native), так и проектам с широкой пользовательской аудиторией (как следствие — высокий охват модельного ряда). Поддерживает автоматизированные скрипты на базе Calabash и Xamarin.UITest.

Старички

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

Sauce Labs

7 лучших ферм устройств для тестирования мобильных приложений - 9

Знакомься, это Sauce Labs [8]. Один из старожилов рынка автоматизированного тестирования. К его созданию приложил руку сам Джейсон Хаггинс (Jason Huggins), разработчик Selenium. Sauce Labs — взрослый сервис для взрослых команд. Цены от 149 долларов в месяц, есть нативные и гибридные приложения для iOS и Android и возможность организовать свое частное облако или провести тестирование в ручном режиме. Есть поддержка интеграции с DevOps-конвейерами и запуск на эмуляторах/симуляторах, хотя самих моделей устройств заявлено не больше двадцати. Другими словами, поклонникам Selenium — самое оно.

Perfecto

7 лучших ферм устройств для тестирования мобильных приложений - 10

И завершим мы наш обзор одной из старейших ферм устройств от компании Perfecto [9]. Еще во времена Symbian и Windows Mobile эта компания начала предлагать свои устройства в аренду. Цены были высокие, но на триале можно было быстренько прогнать приложение и убедиться, что оно работает (или не работает). Для iOS доступно порядка 20 различных моделей, а для Android — больше 50. В качестве фреймворка предлагаю использовать Appium. Тестировать вручную можно бесплатно, а вот автоматизация будет стоить от 299 долларов в месяц.

Итого

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

  • если ты один и пишешь на Java/Kotlin для Android, то смело бери Firebase Test Lab (бесплатно);
  • хочешь подключить удаленный дебаггер — есть только у Samsung (бесплатно);
  • ищешь сервис с максимальным покрытием устройств — рекомендуем Xamarin Test Cloud (от 99 долларов в месяц).

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

До связи!

Об авторе

7 лучших ферм устройств для тестирования мобильных приложений - 11 Вячеслав Черников — руководитель отдела разработки компании Binwell [10], Microsoft MVP и Xamarin Certified Developer. В прошлом — один из Nokia Champion и Qt Certified Specialist, в настоящее время — специалист по платформам Xamarin и Azure. В сферу mobile пришел в 2005 году, с 2008 года занимается разработкой мобильных приложений: начинал с Symbian, Maemo, Meego, Windows Mobile, потом перешел на iOS, Android и Windows Phone. Статьи Вячеслава вы также можете прочитать в блоге на Medium [11].

Другие статьи автора:

Напоминаем, что это полная версия статьи из журнала Хакер [1].

Автор: Microsoft

Источник [22]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/samsung/260721

Ссылки в тексте:

[1] публикаций полных версий статей из журнала Хакер: https://xakep.ru/2017/06/19/mobile-testing/

[2] первая: https://habrahabr.ru/company/microsoft/blog/325184/

[3] вторая: https://habrahabr.ru/company/microsoft/blog/329908/

[4] Samsung Remote Test Lab: http://developer.samsung.com/remotetestlab

[5] Firebase Test Lab for Android: https://firebase.google.com/docs/test-lab/

[6] AWS Device Farm: https://aws.amazon.com/ru/device-farm

[7] Xamarin Test Cloud: https://www.xamarin.com/test-cloud

[8] Sauce Labs: https://saucelabs.com

[9] Perfecto: https://www.perfectomobile.com

[10] Binwell: http://www.binwell.com/

[11] блоге на Medium: https://medium.com/binwell/public/home

[12] 7 лучших ферм устройств для тестирования мобильных приложений: https://habrahabr.ru/company/microsoft/blog/333606/

[13] Авторизация OAuth для Xamarin-приложений: https://habrahabr.ru/company/microsoft/blog/332970

[14] Автоматизируем неавтоматизируемое, или про Xamarin в реальных проектах: https://habrahabr.ru/company/microsoft/blog/327900/

[15] Удобный REST для Xamarin-приложений: https://habrahabr.ru/company/microsoft/blog/310704/

[16] Быстрое создание MVP (minimum viable product) на базе Microsoft Azure и Xamarin.Forms: https://habrahabr.ru/company/microsoft/blog/281897/

[17] Готовим Xamarin.Forms: настройка окружения и первые шаги: https://habrahabr.ru/company/microsoft/blog/303630/

[18] Повышаем эффективность работы в Xamarin.Forms: https://habrahabr.ru/company/microsoft/blog/304678/

[19] Работаем с состояниями экранов в Xamarin.Forms: https://habrahabr.ru/company/microsoft/blog/307890/

[20] Подключаем Facebook SDK для Xamarin.Forms: https://habrahabr.ru/company/microsoft/blog/321454/

[21] Подключаем ВКонтакте SDK для Xamarin.Forms : https://habrahabr.ru/company/microsoft/blog/323296/

[22] Источник: https://habrahabr.ru/post/333606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best