Зачем мобильному приложению нагрузочное тестирование

Зачем мобильному приложению нагрузочное тестирование

SimbirSoftMobile

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

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

  1. Если у приложения сотни тысяч пользователей

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

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

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

Задуматься о работоспособности приложения при больших нагрузках следует уже на этапе планирования. Допустим, мы поняли, что нужно тестирование нагрузки. Что дальше?

Анализ требований и сбор информации о системе

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

Выбор инструмента для нагрузочного тестирования

QA-специалисты выбирают инструменты исходя из опыта работы с ними. Обычно в качестве инструмента используется Apache JMeter, так как он бесплатный и его легко использовать. С помощью серверных агентов и модулей сбора данных во время тестирования ведется статистика по запросам и собирается информация о нагрузке на систему (по железу – ЦПУ, ОЗУ, ПЗУ, сеть). Для связи с сервером используется API, поэтому также применяется инструмент Яндекс.Танк. У него примерно те же возможности, что и у Apache JMeter, но полученные данные обрабатывать удобнее. Если же пользователь не проходит определенный сценарий, а просто переходит по разным экранам, которые загружают данные, то для проведения нагрузочного тестирования можно использовать инструмент Siege. Этот инструмент позволяет сделать список запросов, которые отправляются на сервер в хаотичном порядке и со случайными задержками. Однако результаты выдаются в виде текста, что затрудняет создание таблиц и графиков результатов.

Создание и отладка тестовых скриптов

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

Тестирования

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

Анализ результатов

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

Подготовка, отправка и публикация отчета

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

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

SimbirSoftMobile

Еще статьи

На старте каждого проекта наша первоочередная задача – понять потребность, проблему заказчика и конечных пользователей продукта. Если вам нужен, например, редизайн уже существующего приложения, то мы начинаем с определения его бизнес-целей – увеличить продажи, привлечь больше посетителей на свой сайт.
Разработчик популярных сервисов заказа еды, компания mobile.SimbirSoft - о том, как угнаться за рынком и повысить продажи. Foodtech на рынке мировых технологий растет огромными темпами, все больше людей выбирают готовую еду, чтобы не тратить время на походы по магазинам и дежурство у кухонной плиты.
Понятие UX перестало быть «хайповым», а стало качественным инструментом обеспечения комфорта работы с приложением и удовлетворенности пользователей. Пользователи должны без труда находить необходимую информацию, выполнять желаемое действие с минимальными временными затратами.
Mobile.Simbirsoft довольно часто сталкивается с задачей спасти продукт. Одним из вызовов для нашей команды экспертов стала доработка приложения iSimple, путеводителя по миру вина и других благородных напитков, с помощью которого легко определиться с выбором, совершить покупку или узнать адреса ближайших магазинов
Каждое разрабатываемое в mobile.SimbirSoft мобильное приложение уникально и создается с нуля. Каким бы сложным оно ни было, прежде всего, оно должно быть удобным. В данной статье речь пойдет о том, как мы проектируем и создаем понятный и удобный интерфейс мобильных приложений на примере системы для подбора машинных масел.

Расскажите нам вашу идею

При отправке данной формы Вы подтверждаете, что ознакомились с нашей политикой конфиденциальности.

Напишите нам

Константин Каменский
Константин Каменский
Иван Игонин
Иван Игонин