Файл: Функциональное тестирование программного обеспечения на примере мобильных приложений (Характерные особенности тестирования мобильных приложений).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.03.2023

Просмотров: 330

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  1. Фактор рекламы в мобильном приложении должен пройти проверку по следующим факторам:
  • реклама не должна перекрывать кнопки управления приложением,
  • реклама должна иметь доступную кнопку закрытия, потому что чаще всего пользователь ее не ищет, а просто удаляет приложение с концами.
  1. При проверке локализации необходимо учитывать:
  • на другом языке на экране должно хватить места для текста,
  • даты должны соответствовать формату установленного региона,
  • временные настройки должны быть соблюдены.
  1. При проверке энергопотребления необходимо проверять насколько сильно ваше мощное приложение опустошает батарею устройства. Скорее всего пользователь удалит его, если из-за него мобильное устройство придется под заряжать слишком часто[80].

К основным этапам функционального тестирования мобильного приложения можно отнести[81]:

  1. Тестирование документации. Проверка документации — это необходимый подготовительный этап процесса тестирования мобильных приложений. Фактически, тестирование начинается до процесса разработки программного обеспечения. Тестировщики получают навигационные диаграммы, схемы экрана, другие требования. Эти требования анализируются на предмет полноты и несогласованности. Противоречия в требованиях должны быть решены до начала разработки. На этом этапе создаются и анализируются требования (спецификация, PRD), план тестирования, тестовые сенарии, матрица отслеживания[82].
  2. Основной этап функционального тестирования. Функциональное тестирование направлено на работу приложения в соответствии с определенными требованиями. Проще говоря, тестировщик проверяет, выполняет ли приложение ожидаемые функции, которые обычно описываются в спецификации[83]. При этом, необходимо обратить внимание на следующие важные факторы при проведении функционального тестирования вашего мобильного приложения:
  • Тип приложения, определяемый его бизнес-функциональностью (социальные сети, банковское дело, образование, заказ и доставка продуктов питания, билеты, игровая индустрия и т. д.).
  • Целевая аудитория (компании, пользователи, образовательная среда и т. д.).
  • Каналы распространения (Google Play, магазин приложений и т. д.)

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


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

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

В процессе тестирования функциональности нужно убедится, что заявленная цена и контент соответствуют полученной пользователем информации, убедится, что пользователь может выполнять типичные операции: покупка, добавление товаров в корзину, заказ товаров, а также нужно убедится, что приложение поддерживает платежные операции через платежные системы, такие как Visa, Mastercard, Paypal[85].

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

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

  • Входящие и исходящие звонки, SMS и MMS.
  • Разрядка / снятие батареи.
  • Отключение и подключение сети / Wi-Fi.
  • Отсоединение и подключение SD-карты.
  • Зарядка устройства.

Постоянное тестирование отзывов пользователей включает в себя тестирование[87]:

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

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

  • Все пользовательские данные сохраняются после обновлений.
  • Ход обновления отображается правильно.
  • Обновления поддерживаются более старыми операционными системами.
  • Тестирование различных способов установки обновлений (Wi-Fi, Bluetooth, USB) успешно пройдены.

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

  • Отсутствие места для установки или запуска приложения.
  • Утечка памяти. Обратите внимание на окна с большой информацией и задачами с длинным рабочим процессом.
  • Установка / замена приложения на SD-карте.
  • Отсутствие некоторых функций, поддерживаемых приложением (3G, SD-карта).
  • установленное приложение не мешает нормальной работе других приложений и не использует их память.

К дополнительным процедурам тестирования можно отнести[89]:

  • Тестирование правильности подключения / разъединения игроков, подключения игроков через разные сети.
  • Убедитесь, что сообщения об ошибках верны и уместны.
  • Проверьте подключение к аналитическим инструментам, таким как Google Analytics.
  • Тестирование энергопотребления.
  • Проверьте необходимые параметры правильной работы с социальными сетями — «Поделиться», «Опубликовать», «Навигация».
  1. Юзабилити-тестирование направлено на обеспечение удобства использования приложения, создание интуитивно понятного интерфейса, соответствующего принятым стандартам. Он выполняется для создания быстрых и простых в использовании приложений[90]. Вот 3 основных критерия оценки приложений[91]:
  • Удобство,
  • КПД,
  • Эффективность.

Рассмотрим простой контрольный список для проведения юзабилити-тестирования мобильных приложений:

  • Убедитесь, что кнопки имеют нормальный размер и помещены в одну область экрана.
  • Убедитесь, что приложение работает в многозадачном режиме, когда это необходимо.
  • Проверьте навигацию важных модулей приложений.
  • Убедитесь, что значки и изображения выглядят естественно в среде приложения.
  • Убедитесь, что цвет кнопок, которые выполняют одну и ту же функцию, одинаковый.
  • Текст должен быть простым, понятным и видимым для пользователя. Можно читать короткие предложения и параграфы.
  • Определите оптимальный размер шрифта.
  • Обеспечьте правильную работу системы Zoom-in and Zoom-out.
  • Проверьте, что контекстные меню не перегружены.
  • Убедитесь, что приложение может быть прервано любым состоянием и что оно возобновляет работу в том же состоянии.
  • Убедитесь, что компоненты приложения синхронизированы с действиями пользователя.
  • Убедитесь, что пользователь может вернуть или отменить действие, если он нажал неправильную кнопку.
  • Убедитесь, что скорость ответа элемента достаточно высока.

  1. Тестирование пользовательского интерфейса UI выполняется для обеспечения соответствия графического пользовательского интерфейса вашего приложения спецификациям[92]:
  • Обеспечить соответствие стандартам пользовательского интерфейса. Соответствие стандартным разрешениям экрана: 640 × 480, 800 × 600, 1024 × 768, 1280 × 800, 1366 × 768, 1400 × 900, 1680 × 1050[93].
  • Протестируйте работоспособность приложений на разных устройствах.
  • Проверьте основные элементы дизайна: кнопки, значки, цвета, ссылки, шрифты, размеры шрифта, макет, текстовые поля, форматирование текста, ярлыки, титры, кнопки, списки и т. д.
  • Убедитесь, что реклама не перекрывает кнопки управления приложениями.
  • Убедитесь, что у рекламы есть доступная кнопка закрытия.
  • Проверьте отображение всех элементов с ориентацией на портретную и альбомную страницу.
  1. Тестирование совместимости. Тестирование совместимости проводится для обеспечения оптимальной производительности приложений на разных устройствах — с учетом их размера, разрешения экрана, версии, оборудования и т. д.

Кросс-платформенное тестирование помогает тестировать мобильное приложение на разных ОС: Windows, iOS, Android и BlackBerry и т. д. Кросс-браузерное тестирование позволяет обеспечить правильную работу приложения в разных конфигурациях браузера: Mozilla Firefox, Google Chrome, Opera Mini и т. д.[94]

Тестирование базы данных предназначено для проверки правильной работы вашего приложения в разных конфигурациях базы данных: Oracle, DB2, MySql, MSSQL Server, Sybase. При тестировании конфигурации устройства должны учитываться такие параметры[95]:

  • Тип устройства: смартфон, планшет и т. д.
  • Конфигурация устройства: ОЗУ, тип процессора, разрешение экрана, емкость аккумулятора и т. д.
  • Тестирование конфигурации сети выполняется для обеспечения правильной работы в различных сетевых конфигурациях (GSM, TDMA) и стандартах (2G, 3G, 4G).
  1. Тестирование производительности - это набор типов тестирования, целью которого является определение работоспособности, стабильности, потребления ресурсов и других атрибутов качества приложения при различных сценариях использования и нагрузках.

Основные цели тестирования производительности[96]:

  • Проверка времени отклика приложения на различные типы запросов, чтобы убедиться, что приложение работает в соответствии с требованиями для нормальной загрузки пользователя. (Нагрузочное тестирование).
  • Тестирование работоспособности приложения при нагрузках, превышающих количество пользователей в несколько раз. (Стресс-тестирование).
  • Изучите работоспособность приложения для долговременной работы при нормальной нагрузке. (Стабильность).
  • Проверяйте работу в условиях «расширенной» базы данных в обычное время. (Тестирование объема).
  • Определите количество пользователей, которые могут одновременно работать с приложением. (Параллельное тестирование).

  1. Тестирование безопасности предназначено для проверки безопасности системы, а также для анализа рисков, связанных с обеспечением целостного подхода к защите приложений от хакеров, вирусов, несанкционированного доступа к конфиденциальным данным[97]:
  • Убедитесь, что данные пользователей приложения (логины, пароли, номера банковских карт) защищены от сетевых атак автоматизированных систем.
  • Убедитесь, что система безопасности приложений требует надежного пароля и не позволяет злоумышленнику получать пароли других пользователей.
  • Убедитесь, что приложение не предоставляет доступ к конфиденциальному содержимому или функциям без надлежащей проверки подлинности.
  • Защитите приложение и сеть от DoS Attacks.
  • Защитите приложение от вредоносных атак на клиентов.
  • Предотвратите возможные вредоносные последствия кэширования файлов.
  • Изучите файлы пользователей и предотвратите их возможные негативные последствия.
  • Анализ взаимодействия системных файлов, выявление и исправление уязвимостей[98].
  1. Тестирование восстановления проверяет тестируемое приложение с точки зрения его способности выдерживать и успешно восстанавливаться после возможных сбоев, вызванных ошибками программного обеспечения, сбоями оборудования или проблемами связи[99]:
  • Проверяйте эффективное восстановление приложения после непредвиденных аварийных ситуаций.
  • Обеспечьте процесс восстановления данных после перерыва в соединении.
  • Проверьте восстановление после сбоя системы и сбоя транзакции.
  • Проверьте способность приложения обрабатывать транзакции в случае сбоя питания (низкая батарея, неправильное закрытие приложения и т. д.).

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

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

  • Calabash - это фреймворк для автоматизации функционального тестирования, который является своего рода драйвером, управляющим работой приложения на девайсе или симуляторе. Подходит как для Android-приложений, так и для приложений для iOS. Разработкой и поддержкой занимается компания Xamarin. Также компания Xamarin предоставляет платную услугу тестирования в «облаке»[100].
  • Appium - это open source фреймворк, который помогает автоматизировать тестирование мобильных приложений. В последнее время Appium часто упоминают на конференциях, а используется он даже Яндексом.
  • Robotium предназначен для Android-приложений. С помощью него разработчики могут писать функциональные тесты, охватывающие несколько Android активити[101].
  • Espresso — это инструмент для тестирования пользовательских интерфейсов Android-приложений. Основной API невелик и прост, но поскольку исходный код инструмента открыт, вы можете расширить его для своих нужд[102].
  • iOS UI automation - родной инструмент функционального тестирования программ для устройств Apple.
  • MonkeyRunner - API для написания программ, которые управляют Android-устройством или эмулятором извне Android-кода. Дает возможность написать программу на Python, которая установит приложение или тестовый пакет, запустит его, отправит нажатия, сделает скриншоты интерфейса и сохранит их.
  • Ranorex — это GUI-фреймворк для автоматизации тестирования настольных, веб- и мобильных приложений. У него нет своего языка — вместо этого он использует C# и VB.NET.
  • TestFairy. При публичном тестировании мобильных приложений очень сложно узнать, из-за чего конкретно у пользователя возникла та или иная проблема. TestFairy решает эту проблему, записывая все тесты на видео, а также запоминая технические характеристики устройства[103].