Оно же – самое молодое. Оно же, как следствие – самое неупорядоченное: многое пока что делается ad hoc, нет готовых предписаний и правил. Тем не менее есть некоторые рецепты и рекомендации, которые являются маст хевом для тестировщика. Именно ими мы с вами и поделимся.
Где тестировать мобильное приложение?
Приступая к тестированию мобильного приложения, тестировщик сразу сталкивается с проблемой среды для тестирования. В обиходе находится огромное количество мобильных девайсов, особенно если мы говорим о приложениях для Android.
Даже неопытному джуну ясно, что хорошо бы протестировать ПО на как можно большем количестве девайсов с разными техническими характеристиками (разрешение экрана, версия Android, различные производители, различные виды девайсов: телефон и планшет).
Но ведь закупать такое количество девайсов очень дорого, особенно если мы ведем кросс-платформенную разработку. Редкий проект может себе позволить приобрести такое количество девайсов, какое хотелось бы, а иногда это просто нерентабельно. На помощь приходят современные технологии, которые позволяют имитировать среду либо дать удаленный доступ к реальным девайсам.
Эмуляторы и симуляторы мобильных девайсов.
Специальные программы, которые позволяют имитировать реальный объект и которые могут использоваться для целей тестирования называются эмуляторами/симуляторами.
Такие программы можно установить отдельно на компьютере. А можно использовать решения, которые встроены в среду разработки, например, в Android Studio или XCode.
При этом надо отличать эмулятор от симулятора. Эмулятор целиком имитирует оборудование. Симулятор имитирует только интерфейс, не претендуя на воссоздание аппаратных аспектов устройства.
Использовать такие инструменты при планировании тестирования можно и нужно. Они позволяют дешево протестировать совместимость приложения с разными характеристиками реальных девайсов.
Рассмотрим эмулятор Android-устройств, встроенный в Android-Studio.
Чтобы начать пользоваться встроенным эмулятором, надо после установки Android Studio зайти в среду разработки.
Если у вас нет проекта, то при старте Android Studio выберите опцию “создать проект”. Среда разработки создаст файлы проекта по запрограммированному в ней образцу. Никакого кода мы писать пока не будем, проект нужен, чтобы запустить эмулятор.
Кнопка старта эмулятора находится на панели вверху справа. Она открывает инструмент Android Virtual Device Manager:
Как видно на рисунке, в моем инструменте уже создано несколько девайсов. Если Android Virtual Device Manager запущен в первый раз, то устройств там не будет, их надо добавить. Для этого надо нажать кнопку «Create Virtual Device» справа снизу:
В открывшемся окне выбираем тип девайса, название и характеристики из списка и нажимаем кнопку «Next».
В следующем окне нам предложат выбрать версию системы Android, которую мы хотим “установить” на наш виртуальный девайс.
Выбираем и загружаем нужную. Загрузка может занять некоторое время. После загрузки нажимаем «Finish». Наш виртуальный девайс готов к работе. Чтобы запустить его нажмем кнопочку с зеленым треугольником напротив названия.
Перед нами появится визуализация нашего девайса с меню. Теперь мы можем совершать на нем разные действия. Дополнительные действия можно посмотреть, нажав в меню кнопочку с тремя точками.
Выше мы говорили о том, что в Android Studio встроен инструмент, который позволяет не просто имитировать внешний вид и работу устройства (не симулятор), но и воспроизвести аппаратные моменты (это эмулятор).
Как мы можем убедиться, бросив беглый взгляд на пункты меню, инструмент позволяет имитировать интернет-сигнал (Cellular), заряд батареи (Battery), прерывания (Phone имитирует входящие звонки, например). Также мы можем проделывать с инструментом разные операции, которые пригождаются нам при выполнении наших “тестировщицких” функций: делать скриншоты, багрепорты, снимать видео того, что происходит на экране. Побродите по пунктам меню и попробуйте найти эти функции самостоятельно.
Таким образом, с помощью подобных инструментов мы можем протестировать наше ПО практически на любом девайсе и на любой версии системы.
Тестирование на эмуляторах – неизбежный процесс в тестировании мобильного приложения, особенно когда производится автоматическое тестирование.
***
Современные эмуляторы и симуляторы позволяют воспроизвести многие ситуации, в которых необходимо протестировать мобильное приложение (прерывания, перерывы в связи). Тем не менее полностью воспроизвести все странности и все разнообразие ситуаций, с которыми встречаются пользователи, им не под силу. Можно утверждать, что обойти ограничения, накладываемые эмуляторами и симуляторами на процесс тестирования, вряд ли получится, поэтому в обязательном порядке необходимо тестировать приложение хотя бы на нескольких физических девайсах.