Программирование  •  18 июля 2022  •  5 мин чтения

Тестирование мобильных приложений: инструкция для начинающих

В чём особенности тестирования мобильных приложений, из каких этапов оно состоит и какие инструменты нужны тестировщику.
Основная задача тестировщика — убедиться, что приложение выполняет свои функции: ожидаемый результат соответствует фактическому, требования соблюдаются и нет критических ошибок.

Тестировщик приложения проверяет функциональность, безопасность и юзабилити — удобство и простоту использования — вручную или с помощью специальных инструментов.

Основы тестирования мобильных приложений можно изучать и самостоятельно, и на курсах.

На курсе Практикума «Инженер по тестированию» вы научитесь тестировать веб- и мобильные приложения, API, проектировать тесты и помогать компании развиваться. Записаться на бесплатную часть курса можно прямо сейчас.

Типы мобильных приложений

1. Нативные приложения

Нативные приложения сложные и дорогие в разработке, но у них высокая скорость работы, и они позволяют задействовать разные функции телефона — например, камеру.

Соцсеть Инстаграм (запрещена в РФ) — нативное приложение, которое позволяет использовать камеру на телефоне

2. Веб-приложения

Это не приложения, а интерфейсы сайтов, адаптированные под мобильные устройства для удобства пользователей.

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

У Практикума своё веб-приложение, которым удобно пользоваться и на компьютере, и с мобильного устройства

3. Гибридный тип

Комбинация нативного приложения и веба. Разрабатывается сразу для двух платформ и пишется на универсальном языке программирования. Разработка такого приложения дешевле, и за счёт этого оно быстрее выходит на рынок.

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

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

Приложение для планирования путешествий TripCase — пример гибридного типа

Особенности тестирования мобильных приложений

Учесть все модели устройств

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

Тестировать самую старую, самую новую ОС и браузеры

Если приложение не поддерживает установленную у пользователя ОС, он не сможет это приложение скачать. Разработчик, зная эту особенность, может поставить заглушку с сообщением, что ОС или браузер нужно обновить.

Провести тест-кейсы

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

Проверить удобство обновлений

Обновление не должно вызывать у пользователя сложностей. При проверке этого кейса нужно выяснить, как будет себя вести приложение, если пользователь не обновил его самостоятельно.

Проверить работу при слабом Wi-Fi

Когда человек сидит дома за компьютером, соединение стабильное. Нужно разобраться, как будет вести себя приложение в момент отсутствия сети, например если пользователь спускается в метро, и сделать так, чтобы у приложения была единая реакция на ситуацию, когда пропадает соединение.

Проверить взаимодействие с интерфейсом

Надо проверить функциональность, безопасность, удобство, производительность приложения и учесть все детали: от смены размера шрифта и до параллельного использования с другими программами. Можно ли свернуть текущее приложение и зайти в другое? Что ожидается от приложения при таких действиях?

У нативных приложений есть возможность использовать другие функции устройства. Например, приложение, которому нужен доступ к микрофону, на iOS обязательно запрашивает разрешение.

На старте работы изучайте руководства: Human Interface Guidelines от Apple и Material Design для Android. Руководства нужны тестировщику, чтобы понимать, каким критериям должны соответствовать приложения для разных операционных систем.

Материал по теме:
Кто такой инженер по тестированию и как им стать, чтобы начать IT-карьеру

Инструменты для тестирования мобильных приложений

1. Эмуляторы устройств

Для тестирования мобильного приложения нужна ферма устройств, подходящих для целей продукта. Анализируя параметры приложения, собирают матрицу устройств, чтобы охватить большинство комбинаций параметров: разрешение и диагональ экрана, ОС.

Матрица достаточно обширна, но иметь под рукой такое количество устройств излишне. На помощь приходят эмуляторы — приложения, помогающие имитировать работу мобильных устройств с разными параметрами и функциональностью. У iOS — это симулятор Apple iOS, для Android — Android Virtual Device.

2. DevTools

Тестировать мобильное веб-приложение можно в обычном браузере на компьютере с помощью инструмента DevTools. Он помогает проверить адаптивность вёрстки, смену ориентации экрана, разные скорости интернет-соединения.

3. Сервисы TestFlight и Beta

Активная работа по выявлению ошибок, влияющих на корректную работу приложения, производится на этапе бета-тестирования — использования практически готовой версии перед окончательным запуском. Для бета-тестирования мобильных приложений используют сервисы TestFlight для iOS и Beta для Android.

4. Снифферы

Для тестирования взаимодействия с бэкендом — частью приложения, работающей на сервере, — применяют снифферы. Сниффер — это анализатор трафика, то есть всей информации, которая проходит через компьютерные сети. С его помощью можно проверять http-запросы, различные коды ответов и реакцию приложения на них. Самые популярные снифферы — Fiddler и Charles.

Основные дефекты при тестировании

Не работает адаптивная вёрстка

Часто вёрстка некорректно работает при смене ориентации экрана, в разных версиях операционных систем или типах браузеров.

Если не думать об адаптивной вёрстке, текст на экране может быть неудобно читать

Сбой работы приложения

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

Неконтролируемое потребление ресурсов

Приложение потребляет слишком много заряда батареи устройства, и оно нагревается. Если дефект не устранить, из-за такого приложения придётся каждый раз выключать устройство и ждать, пока остынет.

Несоблюдение принципов безопасности

Дефект заключается в том, что приложение может не иметь никакого отношения к контактам в телефоне, но всё равно запрашивать к ним доступ.

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

Локализация

Вёрстка часто портится после перевода контента на другой язык. Например, в японском приложении для российского рынка может быть не адаптировано поле для текста. Там, где требуется три иероглифа, предложение на русском языке не поместится, и наоборот.

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

Главное о тестировании приложений

● Основная задача тестировщика — убедиться, что приложение выполняет свои функции. Тестировщики, которые любят разбираться в том, как, зачем и почему это работает, быстро растут в профессии.

● Существует три типа мобильных приложений: нативные, веб-приложения и гибридные. Чтобы понять, каким критериям должны соответствовать приложения для разных операционных систем, на старте работы тестировщику стоит изучать руководства Human Interface Guidelines от Apple и Material Design для Android.

● В работе тестировщик учитывает, какие модели устройств наиболее популярны у конкретных пользователей, тестирует все версии ОС, проводит тест-кейсы, проверяет удобство обновлений, работу при слабом Wi-Fi, функциональность, безопасность, удобство, производительность приложения.

● Одни из основных инструментов для тестирования мобильных приложений: эмуляторы устройств, инструмент DevTools, сервисы TestFlight для iOS и Beta для Android, снифферы.

Статью подготовили:

Алина Красивская
Яндекс Практикум
QA-инженер
Яндекс Практикум
Редактор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться 

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Wed Nov 06 2024 16:34:19 GMT+0300 (Moscow Standard Time)