Как я тестировал Android-приложения с помощью Samsung Remote Test Lab

Меня зовут Игорь. В прошлом году, параллельно с учебой в 11 классе, я проходил обучение в «IT-Школе Samsung» на базе томского IT-Куба. В конце курса обучения я одержал победу во Всероссийском конкурсе компании Samsung по разработке мобильных приложений «IT Школа выбирает сильнейших!» и стал финалистом «Samsung Android Bootcamp».

В рамках этих мероприятий я разработал пару мобильных приложений и сейчас расскажу об опыте их тестирования с помощью сервиса Samsung Remote Test Lab, с которым я познакомился совсем недавно.

Samsung Remote Test Lab бесплатный сервис, который позволяет разработчикам тестировать приложения удаленно в виртуальном режиме на тысячах реальных устройств сотен моделей семейства Samsung Galaxy без приобретения оборудования.

За последние десять лет Samsung открыла лаборатории Remote Test Labs по всему миру, в том числе в Индии, Польше, Южной Корее и США. В 2021 году компания расширила программу, подключив к ней лаборатории в России, Великобритании, Бразилии, и Вьетнаме.

Сначала о приложениях

Первое — Elementary Launcher. Домашний экран для слабовидящих пользователей. Из-за специфичной функциональности приложения: замена домашнего экрана, взаимодействие с установленными пакетами приложений, работа с виджетами, контактами, их вызов и отправка смс, — приложение требует тестирования на большом количестве устройств, версий и оболочек Android.

image-loader.svg

Второе — Convеrta. Приложение, помогающее немым и глухим людям путем перевода текста в речь и речи в текст. Оно тоже работает с микрофоном устройства, с Text-To-Speech и Speech-To-Text сервисами, эта функциональность тоже нуждается в тестировании, потому что на устройствах разных производителей могут быть установлены разные синтезаторы речи.

image-loader.svg

Немного о самом сервисе

Ранее я тестировал приложения так:

  1. Установка на свое устройство

  2. Установка на эмуляторы разных устройств с разными версиями Android

  3. Написание UI-тестов и их прогон через Firebase Test Lab

  4. Рассылка сообщений друзьям и знакомым с просьбой протестировать приложение и последующее просматривание Crashlytics

Узнав про то, что Samsung Remote Test Lab позволяет запускать не просто Instrumented тесты, а дает удаленный доступ к реальному устройству, я сразу приступил к регистрации по ссылке.

Для работы в сервисе требуется Samsung Account, вход в который осуществляется в правом верхнем углу страницы.

image-loader.svg

После входа дается 20 кредитов для аренды устройств. Ежедневно, через Get Free Credits (появляется при наведении курсора мыши на баланс) можно получить еще 10 кредитов, которые эквивалентны пяти часам аренды любых устройств в выбранном регионе. Список моделей доступных устройств в каждом регионе отличается.

image-loader.svg

Я выберу Россию для лучшего качества соединения. В этом регионе доступны, в основном, флагманские устройства S и Z серии:

image-loader.svgimage-loader.svg

Из бюджетных доступна A серия:

image-loader.svg

Планшеты Tab S:

image-loader.svg

Также можно протестировать приложение на Galaxy Watch устройствах:

image-loader.svg

Удивительно, но в Корее можно арендовать устройства на Tizen OS:

image-loader.svg

Процесс аренды устройства достаточно прост. Необходимо указать версию Android и время аренды. Ну и, конечно же, нажать кнопку Start.

image-loader.svg

После начала аренды откроется либо web-клиент, либо будет скачан .jnlp (Java Network Launching Protocol) файл с клиентом.

А теперь о тестировании

Для начала я запустил Elementary Launcher на Galaxy S21 Ultra и заметил, что ярлыки домашнего экрана недостаточно увеличены.

У первой иконки внезапно появились пустые места по бокамУ первой иконки внезапно появились пустые места по бокам

Далее я перешел к тестированию на более простых устройствах, а именно Galaxy A31.

Доступ к нему, кстати, уже осуществлялся через .jnlp клиент.

image-loader.svg

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

И закончил я тестирование на смартфоне Galaxy S9.

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

Дополнительная интересная информация

Samsung Remote Test Lab позволяет разворачивать приложения на устройствах с beta-версией Android 12 даже в России, несмотря на то, что beta-сборки для этого региона не существует.

image-loader.svgimage-loader.svg

Продолжаем тестирование

Также я запускал Elementary Launcher на планшетах Galaxy Tab S7, Tab S7+ и foldable-устройствах: Galaxy Z Flip 3, Galaxy Z Fold 3.

image-loader.svgРезультаты тестирования на Galaxy Z Fold 3 показали, что у приложения наблюдается проблема с жизненным циклом. Экраны первой настройки пропадают при раскладывании/складывании устройства и переходе приложения на другой экран.Результаты тестирования на Galaxy Z Fold 3 показали, что у приложения наблюдается проблема с жизненным циклом. Экраны первой настройки пропадают при раскладывании/складывании устройства и переходе приложения на другой экран.

А теперь о втором приложении

При запуске приложения на Galaxy Z Flip 3 возникла проблема с позиционированием фона приложения из-за специфического соотношения сторон экрана.

image-loader.svg

Такая же ошибка наблюдается и на меньшем экране Galaxy Z Flip 3

image-loader.svg

И вскрылись мелкие недочеты из-за отсутствия атрибута ellipsize у текстовых полей.

image-loader.svg

На устройствах с привычным соотношением экрана таких проблем не наблюдалось.

image-loader.svg

Замечу, что было достаточно непривычно слышать синтезатор речи Samsung, когда ранее слышал только голос такового от Google.

image-loader.svg

О дополнительном функционале

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

    image-loader.svg
  2. Foldable-устройства можно складывать, складывать наполовину и раскладывать.

    image-loader.svgimage-loader.svgimage-loader.svgА тут и ферму видноА тут и ферму видно
  3. Также можно перебрасывать текст между устройством и клиентом

    image-loader.svg
  4. И файлы тоже.

    image-loader.svg
  5. Возможность записи и сохранения тестов.

    image-loader.svg
  6. Доступ к logcat.

    image-loader.svg
  7. Или полный adb-доступ.

    image-loader.svgimage-loader.svg
  8. Передача аудио.

    image-loader.svg
  9. Эмуляция S-Pen на поддерживаемых устройствах.

    Демонстрация на Galaxy Note 20.Демонстрация на Galaxy Note 20.

А теперь, результаты

Подводя итог, хочется сказать, что я жалею, что не узнал об этом сервисе ранее, потому что полный удаленный доступ — именно то, чего не хватало при использовании Google Firebase Test Lab с его возможностью запуска только заранее написанных тестов.

Плюсы:

  • Большой парк физических устройств: смартфоны, планшеты, часы

  • Широкий спектр разворачиваемых версий Android

  • Бесплатность и общедоступность

  • Дополнительный, упрощающий тестирование, функционал

  • Наличие отдельного дата-центра в России

Может не понравиться:

  • Отсутствие на данный момент возможности adb доступа через web-клиент

  • Отсутствие устройств других вендоров

  • Невозможность запуска instrumented-тестов

© Habrahabr.ru