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

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

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

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


Сегодня мы поговорим про популярные облачные фермы устройств: 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.


 

Samsung Remote Test Lab

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



Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    4 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии