Разделы портала

Онлайн-тренинги

.
Особенности планирования работ по тестированию мобильных приложений
24.04.2018 17:39

Автор: Елена Терехова

Оригинальная публикация: http://quality-lab.ru/key-principles-of-planning-mobile-applications-testing/

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

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

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

Подготовка к планированию

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

Выбор платформы обычно обусловлен назначением приложения и требованиями заказчика. Приложения для широкого круга пользователей чаще всего выпускаются на двух платформах: IOS и Android (по статистике 98% приложений создано на IOS и Android платформах, и лишь 2% используют остальные платформы). Узкоспециализированные приложения или игры, как правило, реализуются на одной платформе.

Выбор версии ОС. Лучше всего взять самые популярные версии с официальных сайтов developer.android.com и developer.apple.com. Не стоит забывать и про более старые версии, т.к. не все смартфоны и планшеты позволяют обновиться до популярной или свежей версии ОС, да и многие пользователи просто не хотят этого делать.

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

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

На покупке всего спектра мобильных устройств можно сэкономить, воспользовавшись эмуляторами. Придется повозиться с их установкой, но взамен вы получите доступ ко всем необходимым моделям и возможность быстро переключаться с одного устройства на другое. Эмуляторы незаменимы при тестировании верстки и геолокации. При этом нужно понимать, что эмулятор никогда не заменит реальное устройство. Также не стоит тратить время на симуляторы, т.к. они просто изображают окружение оригинального устройства и никак не затрагивают его начинку (железо), а ведь она может повлиять на результат.

Таким образом, для полного тестирования мобильного приложения можно ограничиться 3-4 реальными устройствами, а при необходимости провести выборочное тестирование (тестирование основных функций приложения) на эмуляторах.

Планирование работ по тестированию

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

  • тестирование требований на полноту и внутреннюю непротиворечивость;
  • тестирование совместимости версий АПИ;
  • тестирование работы приложения на разных физических устройствах;
  • юзабилити-тестирование.

Подробнее рассмотрим каждый из этих пунктов.

Тестирование требований
На последнем проекте по тестированию мобильного приложения в сфере ЖКХ мы столкнулись с необходимостью тестирования требований. Это не было включено в обязательный набор проверок при тестировании доработок, но в процессе написания чек-листов мы не раз сталкивались с тем, что техническое задание было неполным (не учитывало специфику мобильных приложений или противоречило спецификациям для веб-приложения). Разработчики также могли при реализации требований не обратить внимания на этот факт и сделать так, как им казалось удобнее. В итоге мы получали на тестирование такую версию приложения, которая по-разному вела себя на разных платформах или вообще выпадала в системные ошибки при неучтенных в ЧТЗ комбинациях действий пользователя. Исправление уже реализованного функционала и его ретест требовали дополнительного времени. В конечном итоге мы стали еще до передачи требований в разработку проводить их оценку и формулировать указания аналитику на возможные трудности и неучтенные моменты.

Тестирование совместимости API
Еще один фактор, увеличивающий время тестирования, – это постоянно меняющаяся функциональность тех веб-приложения, по аналогии с которым реализовывалось мобильное приложение. Релизы программы не успевали за изменениями веб-версии, структура данных изменялась, и веб-сервисы переставали возвращать нужные для МП данные. В связи с этим неотъемлемой частью процесса стало тестирование API. Проверка состава и формата передаваемых и возвращаемых через REST-сервисы данных позволяет своевременно обнаруживать и исправлять те места, где мобильное приложение отстает от веб-версии. Более подробно об этом можно прочитать в статьях Освоение тестирования REST API и Автоматизация тестирования REST API при помощи Postman и JavaScript.

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

  • переход в фоновый режим при поступлении звонков и sms, срабатывании будильника;
  • работу приложения при подключении к другим устройствам;
  • работу с разными видами интернет-подключений (Wi-Fi, 4G, 3G);
  • обработку ситуаций отсутствия связи (вывод сообщений при отключении интернет-соединения и корректное продолжение работы при его восстановлении);
  • процесс переустановки и обновления приложения до новой версии.

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

Юзабилити-тестирование
Еще одним неотъемлемым этапом тестирования МП является юзабилити-тестирование. Здесь очень важно обеспечить для пользователя максимальный комфорт при работе с приложением, который подразумевает выполнение следующих требований:

  • быстрота работы;
  • простота и понятность интерфейса;
  • минимальный ввод данных с клавиатуры;
  • наличие индикации (отклика) на действия пользователя.

Также необходимо, чтобы приложение соответствовало общепринятым стандартам (руководствам) по стилю.

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

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

Обсудить в форуме