Как тестируют мобильные приложения?
Чем тестирование мобильных приложений отличается от сайтов и десктоп программ? Где чаще всего попадаются баги и как мы их ловим — рассказываем в этой статье.
Особенности мобильного тестирования
Главная особенность мобильного тестирования – необходимость проверок на большом количестве конфигураций устройств. Ведь на каждой модели телефона приложение может вести себя по-своему.
Относительная лёгкость данного тестирования в том, что обычно в мобильных приложениях нет громоздкого функционала и нужды в объёмных тестах. А главная сложность – в ширине функционала. С каждым обновлением увеличивается аппаратная и программная опциональность, используются дополнительные приспособления: сим-карты, наушники, стилусы, bluetooth-устройства и прочее.
Полноценное мобильное тестирование по времени может занять от нескольких часов до нескольких недель. Всё зависит от масштабности самого приложения и конкретных задач на текущий момент.
Чек-лист тестирования мобильного приложения
Приступая к работе с мобильными приложениями, мы обязательно составляем чек-лист. Обязательно проверить следующее:
- Поля ввода;
- Пуш-уведомления;
- Работа приложения в разных режимах: portrait/landscape, split screen;
- Геолокация;
- Прерывания;
- Поддержка платёжных систем (если присутствуют платёжные транзакции);
- Соответствие гайдлайнам операционных систем;
- Влияние на производительность устройства.
Виды тестирования мобильных приложений
Разработка мобильных приложений становится всё сложнее и разнообразнее. Поэтому помимо привычных для веб- и десктоп-видов тестирования, существуют отдельные методы для разносторонних проверок мобильных приложений.
1. Функциональное тестирование
Это тестирование проверяет, работает ли заложенный функционал в соответствии с предъявленными требованиями. В рамках функционального тестирования обязательно провести следующие проверки:
- Тестирование процесса установки;
- Эксплуатационное тестирование;
- Тестирование возможности обновлений;
- Тестирование процесса регистрации и авторизации;
- Тестирование специфических для устройства функций;
- Тестирование отправки и получения сообщений об ошибках;
- Тестирование ресурсов: использование памяти, автоматическое освобождение ресурсов и т.д.;
- Тестирование сервисов: функционирование как в режиме онлайн, так и в автономном режиме.
2. Внешние события или тестирование прерываний
Подразумевает проверку корректной работы приложения в условиях поступающих звонков, получения сообщений, наличия оповещений, отсутствия и восстановления сети, подключения и отключения от зарядки.
3. Тестирование производительности
Здесь можно выделить 3 основных направления:
- Производительность устройства
Показывает насколько стабильно ПО функционирует на девайсах с различными параметрами и помогает убедиться, что пользователи не столкнутся с задержками или потерей данных во время использования мобильных приложений. К примеру, потенциально проблемным местом для продукта является потребление памяти и расход заряда батареи. Также на этом этапе проверяется скорость работы приложения. - Производительность сервера
Этой проверкой можно узнать, насколько оперативно отвечает сервер и обрабатываются данные. - Производительность сети
Основные тестируемые параметры этого уровня – задержка и пропускная способность. Работу приложения следует проверять подключением к различным сетям (3G-, 4G- и 5G-сети).
4. Тестирование безопасности
В процессе такого тестирования приложение проверяется на наличие уязвимостей, устойчивости к взлому и возможности перехвата трафика с целью получения нелегального доступа к передаваемой информации.
5. Тестирование юзабилити
Это тестирование показывает степень удобства приложения для пользователя. Ключевой элемент здесь — пользовательский опыт, ведь разрабатывается приложение именно для конечных пользователей. Обязательно нужно проверить навигацию по элементам и весь контент. Протестировать меню, кнопки, закладки, настройки.
Юзабилити подразумевает и применение бета-тестирования: когда перед выпуском приложения его подвергают эксплуатации реальных пользователей. Такое тестирование проводится как форма внешнего приемочного тестирования с целью получить отзывы рынка.
Разница тестирования для Android и IOS
Операционные системы Google Android и Apple iOS имеют достаточное количество отличий. Идейная разница базовых отличий в следующем:
- Human Interface Guidelines (iOS) — про дружелюбность, лёгкость.
- Material Design (Android) — смелость, сознательность и гибкость.
Тестировщику следует обратить внимание на основные отличия в дизайне приложений.
Навигация
У Android, в отличии от iOS, есть два вида навигации назад. Одна осуществляется с помощью стрелки назад в Navigation Bar, другая – при помощи верхней стрелки, переходя на дочернюю страницу.В iOS практически не используют тени, а в Android происходит смена состояний.
Во верхнеуровневой навигации iOS рекомендует только один способ через Tab Bar, а у Android есть три способа: Navigation Drawer, Bottom Navigation Bar и Tabs.
Появление дочернего экрана в iOS происходит так: дочерняя страница появляется справа поверх материнской с эффектом slide in, а возвращение – slide out. У Android пользователю показывается иерархическая взаимосвязь с помощью осмысленной анимации.
Также необходимо учитывать разное поведение контента при скролле и разницу в поведении поиска.
Размер экрана и разрешения
В данном случае ситуация с Android немного сложнее, так как устройств на этой базе операционной системы больше, чем на iOS. Следовательно, тестируя Android, придётся принимать во внимание большое количество гаджетов с разными параметрами экранов.
Невозможно проверить абсолютно все мобильные устройства, которые могут быть у пользователей. Но грамотная стратегия тестирования поможет приблизиться к совершенству. На помощь в тестировании большого парка устройств приходят эмуляторы (например Browserstack, Genymotion) и симуляторы (Android Studio или Xcode). Но в любом случае, лучше всего тестировать приложения на реальных девайсах.
Правильным шагом будет собрать статистику о наиболее популярных устройствах. А ещё важно проверить функционал на самой старой и самой новой из поддерживаемых ОС. Отдельное внимание – девайсам с кастомизированными прошивками: Xiaomi, Huawei, Samsung.
Анализ сетевого трафика
Не следует останавливаться только на анализе внешнего поведения программ. Также есть необходимость анализа сетевого трафика: обрыв сети и слабый интернет, исходящие запросы и полученные ответы.
Просмотр трафика позволит более глубоко погрузиться в оценку функциональности, обнаружить дефекты, которые не были заметны визуально, и точнее диагностировать причины их возникновения. Для этого используют трафик-снифферы. Например, Charles, Fiddler, Proxyman.
Подведём итог
Мобильное тестирование – это широкий спектр методов и оценки приложений, которые вмещают и стандартные подходы к тестированию, и процедуры тестирования для конкретной мобильной платформы. Такое тестирование – сложная и необходимая работа, в связи с постоянно увеличивающимся количеством мобильных пользователей.
Хотите, чтобы ваше приложение работало как часы, а пользователи были довольны? Обращайтесь к нам на hello@qualitica.ru.