У мобильного программного обеспечения имеется особый набор возможных сбоев, тесно связанных с физическим использованием самого устройства. Работа с объемом памяти, нагрев батареи и доступ к сети создают потенциальные проблемы, в отличие от аналогичных проблем на ноутбуке, которые симуляторы и средства автоматизации тестирования, скорее всего, не заметят.
В магазине приложений пользователи обычно изучают их рейтинг. Поскольку плохая оценка оттолкнет потенциальных клиентов, мантра “двигайся быстро и ломай все вокруг” может оказаться не самым лучшим подходом. Вместо этого команды разработчиков мобильных приложений перед релизом должны тщательно тестировать и исправлять все ошибки.
Данный контрольный список для тестирования мобильных приложений охватывает 15 недооцененных аспектов, которые необходимо учитывать при разработке или обновлении ПО.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
1. Ссылки, на которые можно тапнуть пальцем
На мобильном устройстве в каталоге со списком фамилий может быть трудно, а иногда и вовсе невозможно точно нажать пальцем на конкретную букву, даже если этот момент легко работает на эмуляторе или с помощью средств автоматизации. Например, заглавная I и строчная i могут отображаться как один пиксель по ширине.
Apple Music, например, использует жирные буквы шириной в два пикселя, чтобы избежать этой проблемы. Обязательно проверьте, насколько легко прокручивать и выбирать отдельные буквы в каталогах приложения.
2. Сбой в работе беспроводной связи
Представьте себе пользователя мобильного приложения, который собирается нажать или только что уже нажал кнопку оформления транзакции, но у него пропадает сотовая связь. Подумайте о том, как неприятно будет пользователю не быть уверенным в обработке приложением транзакции. Проверьте, как приложение сохраняет и восстанавливает информацию о транзакции, когда пользователь вновь подключается к сети. Если в приложении предусмотрена функция уведомления пользователя о несостоявшейся операции, проверьте и её. Избавьте клиентов от разочарования, связанного с тем, что они случайно совершают одну и ту же покупку дважды, или от раздражения от этой неприятной ситуации, которое может заставить их вовсе отказаться от покупки.
Например, YouTube и некоторые другие приложения превратили эту проблему в свою функцию. Они позволяют пользователям кэшировать видео и воспроизводить его в автономном режиме – за ежемесячную абонентскую плату.
3. Внешнее прерывание
Протестируйте приложения на предмет стабильности их работы в ситуациях, когда их внезапно прерывает телефонный звонок, текстовое сообщение, сигнал тревоги или стороннее уведомление. Один из популярных методов проверки: долгий телефонный звонок, который сможет заставить программу вылететь из режима ожидания.
4. Прерывание по инициативе пользователя
Многие мобильные приложения автоматически переходят в фоновый режим, когда пользователь устанавливает на устройстве режим ожидания или запускает другие приложения. Некоторые из них позволяют пользователям воспроизводить подкасты или музыку в фоновом режиме, даже при одновременной работе нескольких программ. Например, приложение Placebo от Momanda не может воспроизводить музыку, если на телефоне активирован спящий режим. Кроме того, iOS-приложение YouTube будет воспроизводиться только при его полноценной работе. Это означает, что пользователи определенно столкнутся с прерываниями, если у них будет установлен низкий тайм-аут или спящий режим на устройстве. Проверьте, насколько корректно работает выбранный разработчиками подход к функционированию приложения не в режиме основного использования.
Это еще один пример того, как YouTube превратил проблему в функцию. Он предлагает платную услугу по воспроизведению звука во время работы приложения в фоновом режиме или при блокировке экрана.
5. Разряд аккумулятора
Тестирование разряда батареи – далеко не самое затратное мероприятие, оно может быть практически бесплатным. Просто протестируйте приложение в течение всего дня – то есть оставьте его включенным и понаблюдайте за скоростью разряда батареи. На завтра воспользуйтесь тем же телефоном и сравните уровень зарядки в то же самое время, что и в предыдущий день. Если разница будет значительной, возможно, есть какая-то проблема.
Рассмотрим Highlight – мобильное приложение с функцией определения местоположения. Оно связывает пользователей, если у них есть что-то общее и они находятся рядом. Его основной функционал требует постоянного обмена данными с серверами, что приводит к значительному разряду батареи. В свое время Highlight получил высокую оценку на интерактивном фестивале SXSW, но сейчас он уже не является серьезным игроком на этом рынке.
6. Утечка трафика
Утечка сотовых данных похожа на разрядку аккумулятора, только гораздо хуже. Во-первых, уровень объема трафика отображается пользователю только тогда, когда он практически на исходе. Более удачливым пользователям приходит уведомление о том, что они израсходовали 75% трафика за месяц; менее удачливые получают неожиданный счет. Один такой счет или внезапная потеря услуги связи в середине месяца могут заставить пользователя отказаться от вашего приложения.
Такую проблему никогда не обнаружит симулятор, как и тестировщики, которые проводят тестирование только в рамках своих рабочих или личных сетей Wi-Fi. Однако выявить ее можно так же легко, как и разрядку аккумулятора: проверьте пропускную способность, протестируйте в течение дня, сравните с пропускной способностью, которую приложение использовало в предыдущий день, и проведите все расчеты. Те 10 минут, которые потребуются для записи этих цифр, могут оказаться очень важными.
7. Избыточный нагрев
Приложения с интенсивной обработкой данных – такие как видеоплееры или стороннее программное обеспечение – могут выделять большое количество тепла. Это особенно актуально для нетрадиционных применений программ, например, для прослушивания видео только в качестве аудио во время длительной поездки на автомобиле. Другим примером может быть обычная зарядка телефона во время воспроизведения видео или запуска развлекательных приложений.
Чрезмерный нагрев свидетельствует о том, что приложение использует много ресурсов центрального процессора, памяти и диска, а также, вероятно, разряжает аккумулятор и расходует сотовые данные. Возможно, программисты приложения допустили функциональную ошибку в структуре цикла, что может привести к снижению производительности и потере памяти.
8. Потеря памяти
Запустите приложение одновременно с другими приложениями на старом мобильном устройстве с малым объемом памяти. Обратите внимание на снижение производительности или сбои. Они точно будут происходить. Задача состоит в том, чтобы определить, насколько допустимо снижение производительности и на каких самых старых устройствах может работать приложение.
9. Скорость сотовой связи
Еще одним фактором, влияющим на работу приложений с большими объемами данных, является скорость отклика. То, что может исключительно хорошо работать во внутренней сети компании, может не работать в сети 3G на границе зоны действия сотовых вышек. В экосистемах Apple и Android существуют такие утилиты, как network link conditioners, которые позволяют имитировать медленное, затянутое или прерывающееся соединение при тестировании мобильных приложений.
10. Проблемы с качеством сотовой связи
Условия сетевого соединения также могут имитировать потерю пакетов. Такая неспособность данных достичь места назначения обычно происходит на границе сотовых сетей или при большом количестве пользователей в системе одновременно. Смоделируйте рост потери пакетов по мере того, как пользователи пытаются воспользоваться ключевыми частями системы, включая оформление заказа или покупку. При 100-процентной потере пакетов система выйдет из строя, но вопрос заключается в том, насколько корректно она это сделает и насколько полезна она будет для пользователя. Возможно, удастся восстановить состояние транзакции, когда сеть “починится” самостоятельно.
11. Глубокие ссылки
Возьмем ссылку на обычную веб-страницу, доступную только после входа в систему с настольного компьютера, и отправим ее на телефон. Когда пользователь нажимает на ссылку, направляет ли приложение его на вход в систему? Если да, проверьте, переходит ли пользователь на конкретную страницу, на которую ведет ссылка. И если она релевантна, убедитесь, что приложение перенаправляет пользователей на мобильную версию этой страницы. Такая практика называется мобильной глубокой ссылкой.
12. Смена режима на портретный
Некоторые приложения, такие как “Калькулятор” от Apple, отображают больше функций при повороте экрана. Эти приложения перерисовывают экран, что приводит к изменению форм-фактора. Проверьте, может ли пользователь получить доступ к этим возможностям на практике.
13. Свайпы и другие движения
Не стоит упускать из виду, насколько принципиально отличается взаимодействие пользователя с приложением с помощью рук от взаимодействия с клавиатурой и мышью.
Если запустить приложение с использованием инструмента тестирования или даже эмулятора, то ощущения от работы с ним могут сильно отличаться от его запуска на физическом телефоне. Тестируйте приложение так, как оно будет использоваться на самом деле. Проблемы, которые непосредственно влияют на удобство работы пользователя, могут быть скрыты от посторонних глаз. Например, найдите функции приложения, требующие нажатия правой кнопки мыши, и отправьте их разработчикам на доработку.
14. Расстояние
Пользователи в других странах ожидают быстрой работы вашего программного обеспечения. Хотя это можно проверить с помощью VPN, куда лучше нанять пару фрилансеров с других континентов. Поставщики краудсорсинга делают этот вид тестирования дешевым и эффективным.
15. Старые устройства
Проведите тестирование на самых старых телефонах и планшетах, которые все еще поддерживаются операторами беспроводной связи. Ожидайте, что все проблемы, перечисленные в приведенном выше контрольном списке для тестирования мобильных приложений, проявятся на более ранних стадиях процесса. Старые устройства нагреваются. Они быстрее выходят из строя и разряжают аккумулятор, чем современные устройства. Для дополнительного охвата можно использовать краудсорсинговое тестирование или инструмент для проверки кросс-браузерной совместимости. Некоторые из них абсолютно бесплатны. Большинство из них предлагают бесплатную пробную версию.
Контрольный список для тестирования мобильных приложений | ||
1. Ссылки, на которые можно тапнуть пальцем | 2. Сбой в работе беспроводной связи | 3. Внешнее прерывание |
4. Пользовательское прерывание | 5. Разряд батареи | 6. Утечка трафика |
7. Избыточный нагрев | 8. Потеря памяти | 9. Проблемы со скоростью сотовой связи |
10. Проблемы с качеством сотовой связи | 11. Глубокие ссылки | 12. Смена режима на портретный |
13. Свайпы и другие движения | 14. Расстояние | 15. Старые устройства |
Заключение
Разработчики программного обеспечения могут потратить несколько дней на составление этого контрольного списка. Поскольку релизы кода происходят все чаще, у вас может возникнуть соблазн протестировать лишь некоторые из этих потенциальных сбоев или вообще забыть об этом дополнительном функциональном контрольном списке для тестирования мобильных приложений.
Не делайте этого.
Вместо этого составьте перечень рисков, который вы периодически будете пересматривать. Изменения в браузере или на рынке мобильных устройств могут привести к тому, что одни из них будут увеличиваться, а другие уменьшаться. Если хотите, сделайте что-то вроде колоды карт с этими рисками, перетасуйте их и вытащите наугад пять штук, чтобы проверять их при каждом развертывании. Что бы вы ни делали, сохраняйте бдительность!
Перевод статьи «Checklist for mobile app testing: 15 gaps to look for».