Один из важных элементов тестирования — анализ трафика, в котором содержится масса полезных данных о коммуникации приложений с серверами. Эта информация позволяет разработчикам обнаруживать потенциальные узкие места в их продукте и корректировать его функционал еще до релиза. Доступ к трафику обеспечивают специальные инструменты тестирования – снифферы.
Что такое снифферы и для чего они нужны
Сниффер — инструмент для регистрации, анализа и изменения запросов между веб-приложением и сервером с помощью перехвата HTTP и HTTPS трафика.
- Снифферы анализирует заголовок, статус-код и тело ответа приложения на запрос.
- Снифферы показывают, какие данные циркулируют между приложением и внешними сервисами, и насколько эти данные совпадают с ожидаемыми.
- С их помощью можно менять запросы и ответы сервера для моделирования различных кейсов в процессе тестирования приложения.
- Снифферы могут эмулировать низкую скорость интернета, чтобы обнаружить ошибки в протоколе обмена данными.
Тестировщики используют снифферы для исследования взаимодействия приложения с сервером, оценки правильности передачи данных и проведения модульного тестирования API.
Сценарии использования снифферов в тестировании
- Тестирование производительности. Снифферы проверяют время загрузки стилей, изображений и скриптов и анализируют время выполнения AJAX-запросов.
- API. Для отладки взаимодействия приложения с внешними API снифферы дают возможность просматривать и менять запросы и ответы.
- Тестирование безопасности. Снифферы перехватывают и анализируют трафик для оценки безопасности приложения.
- Тестирование обработки ошибок. Снифферы эмулируют разнообразные сценарии ошибок, чтобы проверить реакцию приложения на них.
- Тестирование кэширования. Снифферы предлагают ряд функций для оценки эффективности кеширования, изучения его работы и проверки заголовков кэширования.
- Тестирование мобильных приложений. Перехват и анализ сетевого трафика между сервером и мобильным устройством помогает выявить возможные проблемы, связанные с сетью или сервером.
- Тестирование реакции приложения на нестандартные сценарии. Эмулирование низкой скорости интернета позволяет оценить реакции приложения на замедление соединения.
Принцип работы снифферов
Общение приложения или сайта с сервером происходит через передачу запросов и ответов через протокол HTTP/HTTPS. Сниффер становится посредником между ними. Он собирает и анализирует необходимую информацию о запросах для тестирования и отладки решения и далее передает ее нужному серверу. Ответ сервера сниффер направляет напрямую приложению, для которого он ничем не отличается от классического сервера.
Схема работы со сниффером
- Настройка. Тестировщику необходимо выбрать подходящий по условия задачи инструмент и установить его на устройстве, через которое приложение будет передавать информацию.
- Захват трафика. В процессе тестирования специалист реализует определенный сценарий. Сниффер ловит весь трафик, который проходит через используемое устройство или сеть, и анализирует его.
- Анализ данных. Тестировщик изучает параметры взаимодействия приложения с сервером, обрабатываемые запросы и генерацию ответов и проводит анализ этих данных.
- Обнаружение проблем. С помощью сниффера тестировщик может выявить возможные ошибки в данных, некорректные запросы и задержки ответов.
- Отчет. Специалист документирует результаты анализа, фиксирует выявленные проблемы и составляет рекомендациями по их устранению.
Популярные инструменты работы со снифферами
Для анализа сетевого трафика в разработке QA-специалисты чаще всего используют инструменты Fiddler, Charles Proxy и Proxyman . Все три сервиса работают по подписке и предоставляют бесплатный тестовый период.
- Fiddler предназначен для работы с приложениями, созданными для Windows, MacOS и Linux. Его отличительная черта — функция FiddlerScript. Она дает возможность разрабатывать сценарии реализации запросов и автоматизировать работу с ними. Скрипты позволяют быстрее обнаруживать кейсы с ошибками и оперативно устранять их. Недостаток инструмента — сложный дизайн, который компенсируется набором полезных для тестировщиков функций.
- Charles Proxy — кросс-платформенное решение. Дизайн инструмента немного устарел, но интуитивно понятен как для опытных специалистов, так и для начинающих тестировщиков. Сервис имеет набор мощных настроек для управления скоростью интернета. Он хорошо подойдет для задач по корректировке пропускной способности сети.
- Proxyman работает в основном с приложениями, разработанными для macOS, и имеет наиболее дружелюбный для пользователей и современный интерфейс. Его преимущество в возможности быстро подключиться к симуляторам iOS, что позволяет эффективнее тестировать мобильные приложения.
Слушатели курса«Инженер по тестированию»знакомятся с разнообразными инструментами тестирования, в том числе и снифферами. В рамках учебных проектов вы сможете поработать с разными сервисами и выбрать наиболее подходящие для боевых проектов..