Инструменты мобильного тестирования

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

Инструменты мобильного тестирования.

  • Charles.
  • Android Studio.
  • Xcode-симулятор.

Charles.

Сниффер (от англ. sniff — нюхать), или анализатор трафика — приложение, которое перехватывает данные (трафик). Используется для перехвата и подмены запроса или ответа.

Breakpoints — ручное изменение запроса или ответа. Нужно выбрать запрос, применить breakpoint (точку разрыва). Запрос и ответ будет поставлен на паузу, в это время можно поменять значения. Такая подмена подходит тогда, когда известно где и что изменить.

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

Rewrite (Вкладка Tools) — автоматическая подмена данных в запросе (например Header) или ответе (например Body), когда те проходят через Charles Proxy. Например, можно добавлять и изменять заголовок, искать и заменять текст в теле ответа или запроса, статус код и т.д.

Charles Proxy — Кроссплатформенное приложение прокси-сервера для отладки HTTP, написанное на Java. Он
позволяет пользователю просматривать HTTP, HTTPS, HTTP2 и включенный трафик портов TCP, доступ к которому осуществляется с локального компьютера, на него или через него.

Map local (Вкладка Tools) — автоматическая подмена данных в приложении (например json подменяем картинкой), которая позволяет заменить целый запрос из локального файла. Данные в формате JSON заранее готовят в текстовом файле — можно создать библиотеку файлов для подмены и пользоваться ими.

Map Local применяют, если нужно заменить не несколько параметров, как в Rewrite, а весь запрос или ответ.

Map remote (Вкладка Tools) — редирект. Позволяет переадресовать запросы с одного URL «Map From» на другой
«Map To». Подменяет хост, путь целиком или только параметры в зависимости от задачи. Используется для того, чтобы поменять окружение с прода на дев или другие тестовые стенды.

Throttling — позволяет задавать разные параметры скорости соединения. Например, подходит для тестирования, когда нужно посмотреть, как отображается ui того или иного элемента, если ответ с сервера приходит не сразу (с задержкой).

Block list (Вкладка Tools) — блокировка url, если внести его в список.

No caching / cookies (Вкладка Tools) — очистить cache / cookies.

Advanced Repeat (Sequence (Сиквенсис)) — выбрать запрос — правая кнопка мыши — Advanced Repeat — внести количество итераций и пользователей. Повторение (цикл) запросов к серверу.

  • Clear (Удалить сессию) — нажатие удаляет сессию, после чего можно начать новую сессию. Очищает поле Structure.
  • Stop / Start — по дефолту функция включена. Если нужно приостановить запись в лог, нажимаем Stop.
  • SSL Proxying — если ранее активировали эту функцию в настройках, то данная кнопка будет активна.
  • Network Throttling (Троттлинг или дросселирование сети) — функция искусственного ограничения скорости (т.н. дросселирования) сети служит для имитации сложных условий или устаревших технологий в сети, таких как 2G, или плохого покрытия 3G / 4G / WiFi, или может подключения через модем. Это полезно, когда тестируют приложение, сильно зависящее от скорости подключения — как оно поведет себя в различных условиях. Точнее указать скорость и параметры сети — клавиши Ctrl+Shift+T или меню Proxy => Throttle settings.
  • Breakpoints — перехват и подмена запроса или ответа после разрыва соединения. Proxy — Breakpoints Settings. Ввести url и выбрать запрос или ответ. Затем включить функцию в Enable Breakpoints. Например: заменить код ответа 200 на 500.
  • Compose — функция позволяет редактировать запросы и отправлять их в уточненном виде. Можно изменить / добавить нужные параметры и отправить с ними.
  • Repeat — запрос в редакторе будет отправлен повторно. Функция нужна, когда понадобилось повторить запрос, не выполняя действие заново.
  • Validate — функция предназначена для проверки (валидации) запросов или ответов. Открывается новая вкладка с результатами валидации.
  • License Purchase — придется нажать через месяц.
  • Tools — вспомогательные инструменты контроля трафика.
  • Settings — настройки управления доступом, прокси, протоколирования, кастомные настройки под проект и т.д.

Сохранение и шеринг сессии.

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

Нажимаем Control+S или переходим в меню File и жмем Save. Далее вводим удобочитаемое имя, с расширением .chls, например TestLogs.chls и сохраняем.

Также можно сохранить логи в разделе Files, в формате .chls и расшарить другим тестировщикам.

Аналогично, можно импортировать чужой .chls к себе и работать с ним.

Снифферы.

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

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

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

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

Fiddler.

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

Зачем нужен?

Анализ трафика.

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

Сбор данных.

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

Подмена HTTP-пакетов.

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

Подмена POST-данных.

Если нужно подправить данные передаваемые на веб-сервер через POST-запрос. Существует множество информации передаваемой в POST-запросах. Пример: отправка логина / пароля на сервер в процессе авторизации. Или онлайн тест отправляет на сервер результаты теста.