Алекс Смит: Тестирование ПО с Нуля до Специалиста
February 17

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

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

Зависимости мобильного тестирования:

1. Интернет:

- тип соединения – это наши 2g, 3g, 4g и т.д, нам необходимо проверить как ведет себя наш продукт при каждом из этих соединений, как будет влиять на работоспособность нашего приложения и устройства.

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

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

- потеря связи – это следующая зависимость, если это нативное приложение, то оно может даже не заметить, но вот если это веб, то тут можно забыть про его работу.

2.Проверки на прерывание:

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

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

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

- сворачивание/разворачивание приложения – так же важная зависимость, ведь часто бывает, что при просмотре YouTube через мобильное устройство или фильма через браузер, при сворачивании и разворачивании, фильм ставится на паузу, в отличии от музыки, которая может продолжать играть. Так же это касается игр, которые могут не встать на паузу или вообще отключиться от сети

3.Тестирование установки

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

  • установка
  • удаление
  • переустановка
  • обновление

Установка. Мы можем установить наше мобильное приложение через различные маркеты, скачать его с браузера нашего гаджета, отправить нашему другу как файл и он его установит, можем отправить его по USB-кабелю с компьютера или же через адаптер закинуть на флешку и вставить его в ПК, и вот все эти варианты нужно протестировать.

Удаление и переустановка. Так же нам нужно проверить удаление нашего приложения, попробовать повторно установить и посмотреть, как наш гаджет на это отреагирует, получится ли у нас залогиниться под своим аккаунтом, к примеру если это компьютерная игра.

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

4.Работа с функциями телефона:

- GPS – от него зависит определение нашей геолокации, которая очень важна если мы заказываем что-то по доставке, пользуемся сайтом знакомств, пользуемся навигатором и т.д

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

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

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

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

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

- отдельно можно вынести Bluetooеh, на возможность передачи данных, подключения к другим устройствам. Инфракрасный порт, если кто-то еще помнит, что это.

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

- нажатие – это то, как программа будет реагировать на ваши нажатия на экран, скорость и точность нажатия, как вы будете проводить по экрану. Так же это касается тестирования одиночного нажатия, двойного нажатия, выделения текста, перетягивание элемента, увеличение и уменьшение изображения, scroll экрана, то есть, когда мы проводим пальцем вверх и вниз, для просмотра, к примеру веб-страницы или текста, swipe – то есть смахивание, например в приложениях для знакомства

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

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

5.Тестирование производительности:

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

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

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

6. Тестирование на соответствие гайдлайнам и мокапам

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

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

А так же все те же виды тестирования, что мы обсуждали и при тестировании веб-приложений, например тестирования безопасности, локализации, интернационализации.