Ukraine Office: +38 (063) 50 74 707

USA Office: +1 (212) 203-8264

contact@testmatick.com

Manual Testing

Ensure the highest quality for your software with our manual testing services.

Mobile Testing

Optimize your mobile apps for flawless performance across all devices and platforms with our comprehensive mobile testing services.

Automated Testing

Enhance your software development with our automated testing services, designed to boost efficiency.

Functional Testing

Refine your application’s core functionality with our functional testing services

VIEW ALL SERVICES 

Discussion – 

0

Discussion – 

0

Создание скриптов и запись трафика при нагрузочном тестировании мобильного ПО

Сфера мобильного ПО – одна из самых быстроразвивающихся областей по всем ключевым направлениям: от рекламы до бизнес-среды.

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

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

Процесс записи трафика

Классическая схема записи трафика выглядит так:

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

В качестве ПО был выбран Findler 4.

Findler

Findler

Первое, что необходимо выполнить, это установить на смартфон сертификат безопасности. [highlight dark=”no”]SSL сертификат позволит пропускать и расшифровывать весь HTTPS-трафик посредством Findler.[/highlight]

В параметрах Findler нужно выставить настройки на расшифровку HTTPS-трафика и разрешить подключение удаленных компьютеров. Затем следует вручную настроить прокси-подключение на гаджете.

Сертификат можно получить по адресу – http://ipv4.fiddler:номер_порта/. А скачать – посредством браузера.

Работа над созданием скрипта

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

На этой стадии процесс максимально идентичен классической отладке скрипта.

Если запрос (в большей степени POST с выгрузкой файлов) возвращается с ошибкой, его можно повторно перехватить с помощью другого ПО (например, перехватывали трафик в Findler, а потом перешли на использование jMeter), и сравнить, есть ли разница.

Пример нагрузочных тестов на практике

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

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

Процесс обмена сообщениями между клиентским ПО и сервером проходит таким образом:

  • Для начала запрашиваются данные о файле (его размер узнается из ответа);
  • Затем программа посылает запрос на любой отрезок файла, к примеру, от нуля. Визуально это выглядит так: «Content-range: bytes был = 0-», и сервер возвращает уже определенный отрезок: «Content-range: bytes был = 0-37895».

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

Итак, чтобы загрузить видео нужно было удалить Content-Type из заголовка, написать MIME Type в отправляемом файле, выставить значение в чекбоксах “Use multipart/form data for POST” и “Browser-compatible headers”.

Альтернативный вариант записи трафика в системе Android

Если тестируется приложение под операционной платформой Android, есть альтернативные решения записи его трафика. В таком случае можно воспользоваться услугами популярного инструмента Packet Capture.

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

Packet Capture

Packet Capture

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

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

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

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

Итоги

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

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

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

You May Also Like

Robot framework: его краткий обзор, основные преимущества и недостатки

Robot framework: его краткий обзор, основные преимущества и недостатки

Это оригинальный keyword-driven фреймворк, который повсеместно используется в целях автоматизации тестирования ПО. Важно, что для создания тестов нужно всего лишь применять ключевые слова, заложенные внутри данного фреймворка, не прибегая к программированию. Какие еще есть преимущества, а также недостатки у данного инструмента? Рассмотрим далее.