Печатные публикации

#33: Особенности организации тестирования мобильных приложений. Общий план тестирования

Анна Сергеева. Особенности организации тестирования мобильных приложений. Общий план тестирования // Системный администратор. 2016. № 10. С. 65-69.


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


Опубликовано в разделе "Разработка / Тестирование"


Эта же статья на сайте журнала


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


Что отличает работу программного приложения на смартфоне или планшете от работы, например, на стандартном стационарном компьютере?


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


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


Тест 1. Инсталляция


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


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


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


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


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


Тест 2 – Поведение приложения при запуске и завершении


Проверим, можно ли запустить приложение и корректно остановить его работу.


Для запуска нужно выбрать иконку приложения или следовать каким-либо другим шагам, указанным в сопроводительной документации. В диспетчере задач (Task Manager) тестовое приложение должно отображается в списке запущенных задач.


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


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


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


И, наконец, еще раз запустить приложение. Оно снова должно появиться в списке запущенных задач.


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


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


Тест 3 — Учетные данные приложения


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


Также нужно обратить внимание на работоспособность (функциональность) приложения. Основная функциональность должна соответствовать заявленной в сопроводительной документации.


Тест 4 — Отсутствие нарушений при обработке голосовых вызовов


Для проведения данного теста потребуется основной тестовый телефон (А) и второй телефон (Б), на котором также установлено и запущено тестируемое приложение.


На фоне запущенного приложения, нужно совершить с телефона Б вызов на телефон А: пользователь телефона А должен увидеть индикацию входящего вызова.


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


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


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


После разговора, завершить вызов с телефона Б. Вызов должен завершиться на обоих устройствах.


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


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


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


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


Тест 5 — Отсутствие нарушений при обработке текстовых сообщений


Для проведения этого теста также потребуется пара телефонов А и Б.


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


После прочтения текстового сообщения на телефоне А необходимо выбрать опцию ответа и отправить ответное сообщение. Ответное сообщение должно быть получено на телефоне Б.


Затем, в режиме ожидания на тестовом телефоне А, выбрать опцию создания нового текстового сообщения, создать его и отправить на телефон Б. Сообщение должно быть получено на телефоне Б.


Тест 6 — Поведение приложения при автозапуске


Это тест выполняется только для приложений, поддерживающих функцию автозапуска.


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


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


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


Тест 7 - Отсутствие нарушений при обработке основных приложений устройства


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


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


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


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


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


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


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


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


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


Тест 8 - Деинсталляция


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


Прежде всего, следует остановить приложение, как описано в тесте 2, и удалить приложение с помощью системного инсталлятора. Приложение должно быть удалено без ошибок.


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


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


Затем, через тот же файловый менеджер, что был использован в начале теста 1, проверить пространство памяти, доступное пользователю на устройстве. Должно быть доступно либо то же пространство, что до начала тестирования, либо ровно такое же по объему. Исключением могут стать сгенерированные пользователем данные или загруженный контент, что должно быть специально указано в сопроводительной документации.


Тест 9 — Адаптация приложения под устройство


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


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


Запустить приложение. Приложение должно работать на устройстве или выдавать сообщение об ошибке с указанием отсутствия возможности работы на данном устройстве.


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


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


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


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


И, наконец, удалить приложение с телефона. Деинсталляция должна происходить без ошибок, и приложение должно быть удалено.


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


Тест 10 — Дополнительное тестирование экстренных вызовов для VoIP-приложений


Этот тест гарантирует обязательную работу с экстренными вызовами, его рекомендуется выполнять дважды — один раз с SIM-картой в устройстве, другой без.


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


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


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


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


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


Таблица 1. Контрольный лист результатов тестирования для мобильных приложений

N

Модуль

Описание тестового случая

Ожидаемый результат

Фактический результат теста

1

Инсталляция

Приложение должно инсталлироваться.

Успешная инсталляция приложения.


2

Деинсталляция

Приложение должно деинсталлироваться.

Пользователь может успешно удалить приложение.


3

Влияние сети

Поведение приложения в случае неполадок в сети во время передачи данных пользователя.

Выдать пользователю соответствующее сообщение об ошибке, например, “Ошибка сети. Пожалуйста, попробуйте через некоторое время”


4


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

Повторная попытка пользователя завершается успехом передачи данных.


5

Обработка голосовых вызовов

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

Успешный прием или отклонение вызова, возврат в ту же точку приложения.


6


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

Успешное установление исходящего голосового вызова на фоне работы приложения.


7

Обработка SMS

Пользователь получает SMS-уведомления во время работы приложения.

Успешное SMS-уведомление во время работы приложения.


8


После прочтения SMS пользователь может вернуться в ту же точку приложения.

Успешный возврат в ту же точку приложения после чтения SMS.


9

Незадействованные клавиши

Незадействованные клавиши не должны работать ни на одном из экранов приложения.

Незадействованные клавиши не обрабатываются.


10

Логотип приложения

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

Пользователь видит логотип и имя приложения в диспетчере и может выбрать его.


11

Заставка

При выборе логотипа приложения запускается заставка.

Отображение заставки пользователю при выборе логотипа.


12


Заставка должна отображаться не дольше 3 секунд.

Заставка отображается не дольше 3 секунд.


13

Нехватка памяти

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

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


14

Клавиша возврата

Клавиша возврата должна вести пользователя на предыдущий экран.

По клавише возврата пользователь видит предыдущий экран.


15

Клавиша завершения

Клавиша завершения должна вести пользователя на страницу описания разработчика.

По клавише завершения отображается страница описания разработчика.


16

Визуальный отклик

Если действие занимает дольше 3 секунд, нужно отображать пользователю индикатор обработки.

Если действие занимает дольше 3 секунд, пользователь видит индикатор обработки.


17

Непрерывный ввод с клавиатуры

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

Нет сбоев приложения при непрерывном вводе с клавиатуры.


18

Выход из приложения

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

Пользователь может закрыть приложение любым из указанным способов, со всех страниц приложения.


19

Влияние зарядного устройства (ЗУ)

При работе приложения, подключение и отключение ЗУ не должно вызывать проблем, и при подключении ЗУ нужно отображать на экране соответствующее сообщение.

Подключение и отключение ЗУ не вызывает проблем в работе приложения, и при подключении ЗУ пользователь видит соответствующее сообщение.


20

Низкий уровень заряда батареи

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

Пользователь извещен о разряде аккумулятора на фоне работающего приложения.


21

Извлечение батареи

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

Прерванная передача данных приложения возобновляется после извлечения и возврата батареи.


22

Потребление батареи

Приложение не должно существенно разряжать аккумулятор.

Приложение не разряжает аккумулятор.


23

Старт/рестарт приложения

Приложение должно запускаться через иконку и через кнопку, если поддерживается.

Старт приложения занимает не более 25 секунд.


24

Побочные эффекты приложения

Приложение не должно препятствовать работе других приложений.

Установка приложения не мешает работе других приложений.


25

Внешние входящие соединения – инфракрасный (ИК) порт

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

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



Заключение


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


Успешное прохождение такого тестирования является необходимым условием для положительного отчета QA-специалистов о готовности передачи исследованного приложения конечным пользователям.


Литература


[1] https://shahkeval.wordpress.com


Ключевые слова


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