В данной статье я бы хотел рассказать об особенностях мобильного тестирования и переходе от ручного тестирования к автоматизации на примере одного из наших проектов, в котором мы тестировали приложение для фитнес-девайса.
Специфика проекта
Данный проект был международным и распределенным территориально. Все коммуникации, процессы и артефакты были на английском языке. В проекте участвовали команды из Индии, центральной России, Москвы и Эль–Сальвадора, главный офис заказчика – в Калифорнии.
Мы занимались тестированием приложения, написанного для конкретного фитнес-девайса: приложение нельзя было просто скачать из магазина и приступить к работе. Также требовалось уделить особое внимание взаимодействию девайса с телефоном и приложением.
Наше общение с Заказчиком началось с того, что они не смогли самостоятельно пройти предрелизные проверки для добавления своего приложения в AppStore и Google Play. Как следствие, для начала нам потребовалось провести тестирование по гайдлайнам от Apple и Google.
Как это нередко бывает в мобильной разработке, iOS версия опережала на пару спринтов Android и все новые фичи сначала появлялись для IOS.
На старте проекта не было документации, и она появлялась только на новые фичи.
Мобильные дип линки (mobile deep links) все чаще используются во многих мобильных приложениях, но до сих пор многие разработчики и тестировщики сталкиваются с различными проблемами при их разработке и интеграции. Мы в GetSocial более 4 лет разрабатываем свое deep links решение. За это время мы столкнулись со множеством изменений в мобильной экосистеме, включая изменения в ОС, браузерах и стандартах самих дип линков.
В этой статье описаны самые распространенные проблемы при работе с дип линками, а также советы по их тестированию. Но для начала короткое напоминание, что они из себя представляют.
Дип линкинг (deep linking) позволяет конечному пользователю открыть страницу с нужным контентом внутри мобильного приложения, минуя его домашнюю страницу и минимизируя трату времени на поиск необходимого контента.
iOS - система с достаточно закрытой архитектурой. В отличие от Android, где для тестирования нужен только apk файл, здесь необходим доступ к исходному коду, чтобы просто скомпилировать тестовое приложение.
На курсе “Автоматизатор мобильных приложений” мы запускаем тесты через Appium на симуляторе iOS. Для того, чтобы проверить запуск приложения, мы используем Appium Viewer. В этом видео, которое является частью курса, показано, как получить .app файл, подключить его к Аppium и проверить работу.
В мобильной автоматизации использовать реальные устройства – дорого и не всегда эффективно. Удаленные фермы устройств, вроде Browserstack, стоят достаточно дорого. Поддержание локальной фермы стоит еще дороже – администрирование парка устройств отнимает очень много времени.
В такой ситуации спасает тестирование на эмуляторах. Их установка и настройка не занимает много времени, в большинстве своем они бесплатны, а утилиты автоматизации давно умеют подключаться к ним самостоятельно.
В этом видео я расскажу о том, как установить и настроить самый простой и доступный эмулятор Android – Genymotion. Он бесплатен для личного использования, поддерживает почти все актуальные платформы и прост в установке.
Appium - популярный инструмент для автоматизации мобильных приложений. Его достаточно просто установить и запустить. Но часто у пользователей возникают проблемы с запуском приложения через графический интерфейс Appium, ведь надо правильно установить все необходимые capabilities для приложения, а их список - огромен.
В этом видео показывается, как можно при помощи ADB достать данные из приложения и запустить его на эмуляторе.
Трудно представить современную жизнь без мобильных устройств и, соответственно, без мобильных приложений. Неотъемлемой частью разработки таких приложений является их тестирование. Грамотный подход к организации тестирования мобильного приложения позволит правильно оценить время на проверку и создать удобный и качественный продукт.
Цена ошибок при тестировании очень высока. Для коммерческих приложений она может выражаться в снижении числа пользователей и возможных клиентов, а также в ухудшении репутации компании-разработчика. Для приложений, участвующих в производственных процессах или социальных сферах, – в недовольстве пользователей и в потере прибыли.
Поэтому мы рассмотрим основные аспекты, на которые требуется обращать внимание при тестировании мобильных приложений.
В тестировании мобильных приложений есть очевидная трудность - огромное множество окружений.
Если учесть различные значения таких переменных, как операционная система и её версия, разрешение и размеры экрана, емкость АКБ, сотовый оператор, количество sim-карт, наличие или отсутствие WiFi, качество соединения по нему и ряд других влияющих параметров, то как итог получится невероятно большое количество комбинаций, на проверку во время тестирования которых потребуются колоссальные трудозатраты.
…несмотря на то, что он кое в чём неполон, содержит много сомнительного или,
во всяком случае, вопиюще неточного, он имеет два важных преимущества:
во-первых, он немного дешевле, [...], а во-вторых, на его обложке большими
и приятными для глаз буквами написаны два слова «Без паники!»
— The Hitchhiker's Guide to the Galaxy
Перед запуском нового курса я задумался, о каких инструментах стоит рассказать ученикам. Прошерстил Рунет и англоязычный Интернет в поисках сравнительных статей, но, как ни странно, не нашёл подходящего источника информации. И тогда я решил создать его сам.
Я преследовал три цели:
Классифицировать инструменты в стеке автотестирования, чтобы стали понятны их иерархия и сочетаемость.
Показать, какие инструменты популярны сегодня на рынке.
Рассказать про самые популярные инструменты каждого типа и сравнить их по нескольким параметрам.
Результатом моих трудов стал этот путеводитель по наиболее популярным и простым в освоении инструментам автотестирования мобильных приложений.
Меня зовут Максим и я работаю в отделе QA компании Trinity Digital. В сфере обеспечения качества я уже более двух лет, люблю мобильные приложения, их сложность и динамичность. В этой статье я попытался сделать относительно небольшой список инструментов, источников информации и скилов, которые тестировщик мобильных приложений всегда должен иметь при себе.
Если разбить статью на части, то она будет выглядеть так:
Источники информации для максимально успешного тестирования
Инструменты для упрощения жизни тестировщика
Hint’ы
Доставка и анализ приложений
Куда расти дальше, если постигли дзен
//Алярма — ниже параграф для менеджеров и ценителей статистики
В этой статье я не буду рассказывать что такое iOS и Android, но нельзя не сказать, какую важную роль играют мобильные платформы в нашей жизни. Если обратиться к статистике по продажам PC и смартфонов, то мы можем увидеть, что с каждым годом количество мобилок растет, а вот PC все меньше пользуется спросом. Однако не стоит разводить полемику о смерти какой-либо из платформ. Как отлично было сказано в статье Пола Адамса — каждому бизнесу стоит найти свой идеальный баланс между мобильным и стационарным типом работы с информацией. А пока менеджеры убежали решать вопросы бизнеса, я продолжу. //Параграф для менеджеров закончился
Готовясь к первому запуску курса “Автоматизированное тестирование Android-приложений”, я задался вопросом: какие инструменты функционального автотестирования для мобильных приложений сейчас наиболее популярны, что стоит выбрать для знакомства новичков с этой темой?
С одной стороны, инструмент должен быть достаточно прост в освоении и понятен людям без опыта. С другой – нет никакого смысла учить устаревшие или узкоспециализированные технологии. А учитывая, что стек технологий даже в двух похожих компаниях может различаться, привязываться к конкретным утилитам достаточно бессмысленно. Конечно, у меня было некоторое представление о популярности инструментов на рынке, однако не хотелось основывать курс только на своём мнении.
Поэтому я разместил простой опрос из трёх пунктов на нескольких крупных сообществах QA в FB, Telegram и Skype. За несколько дней я получил ответы от 36 человек, что уже подходит под критерии большой статистической выборки. Конечно, этот опрос не претендует на звание серьёзного исследования рынка, но помогает понять основные тренды.