Выбрать страницу

Учебное пособие по нагрузочному тестированию Postman



Многие из современных веб-сервисов включают в себя API (интерфейсы прикладного программирования), позволяющие обмениваться разнообразной информацией между системами. API-интерфейсы служат надежным связующим звеном между основными службами и пользователями. Как и при тестировании любого важного компонента системы, оценка API является обязательным условием. Использование сторонних инструментов тестирования API, таких как Postman, упрощает как ручное, так и автоматизированное тестирование, охватывая возможности мониторинга API.

Postman — это широко признанный инструмент в области инструментов тестирования для проверки запросов API. Несмотря на то, что его использование для общего тестирования API широко распространено, использование Postman для нагрузочного тестирования не так просто.

В этом руководстве по нагрузочному тестированию Postman мы рассмотрим, что такое Postman, нагрузочное тестирование Postman и как проводить нагрузочное тестирование с помощью Postman, чтобы вы могли начать нагрузочное тестирование с помощью Postman.

Что такое Postman?

Postman — это широко используемый инструмент, который помогает разработчикам тестировать, проектировать и управлять API в простой в использовании среде для совместной работы. С помощью Postman разработчики могут легко создавать, отправлять и тестировать HTTP-запросы, особенно для RESTful API. Он поддерживает различные методы HTTP, типы аутентификации, а также позволяет организовывать и автоматизировать рабочие процессы тестирования API, что делает его важным инструментом в процессе разработки API.

Почтальон — это инструмент разработки API, используемый в жизненном цикле разработки программного обеспечения:

  • Разработка API
  • Тестирование API
  • Документация API

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

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

Для более глубокого тестирования производительности вам потребуется специализированное средство нагрузочного тестирования, такое как LoadView. Такие инструменты, как LoadView, могут моделировать реальные условия, что помогает проводить стресс-тестирование API и собирать комплексные метрики, чтобы убедиться, что они могут справиться с большим трафиком и интенсивным использованием. Это имеет решающее значение для того, чтобы ваш API мог хорошо работать при любых обстоятельствах, а не только в контролируемых тестовых средах.

Особенности Postman

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

  • Запросы на импорт – Postman включает в себя функцию импорта, которая позволяет пользователям вставлять необработанный текст CURL, преобразуя его в форматированный запрос с такими сведениями, как URL-адрес запроса, заголовки, текст запроса, параметры запроса и маркеры авторизации.
  • Несколько протоколов и поддержка – Функция API-клиента Postman позволяет отправлять запросы REST, SOAP, WSDL и GraphQL.
  • Написание тестовых примеров – Вы можете создавать тестовые случаи для выполнения API и помощи в проверке ответов, включая утверждения для ответов JSON/XML и проверку кодов ответов.
  • Коллекции– Postman помогает в создании коллекций, позволяя организовывать API в структуре папок для отдельных проектов. Он предлагает возможность выполнения коллекции, которая впоследствии запускает все API, включенные в эту конкретную коллекцию.
  • Проверка схемы JSON – Схема JSON (JavaScript Object Notation) может быть использована для определения структуры запросов и ответов. Это помогает в организации и структурировании содержимого JSON, повышая его ясность и читабельность в Postman.
  • Используйте окружение и динамические переменные – В Postman можно создавать переменные, и этим переменным можно присваивать разные значения. Это оказывается полезным при работе с идентичными API в нескольких реальных средах.
  • Преобразование API в код – Postman позволяет преобразовывать запрос API в код на всех известных языках, таких как JavaScript, Golang, Java, PHP, Python и многих других.

Преимущества нагрузочного тестирования Postman

  • Оценка эффективности: Нагрузочное тестирование помогает оценить производительность API при различных уровнях одновременной активности пользователей. Это позволяет понять, как ваша система справляется с возросшими нагрузками и соответствует ли она ожиданиям по производительности.
  • Тестирование масштабируемости: Возможности нагрузочного тестирования Postman позволяют проверить масштабируемость API, помогая определить, насколько хорошо он может обрабатывать растущие объемы трафика и данных.
  • Выявление узких мест: Нагрузочное тестирование помогает выявить потенциальные узкие места или слабые места в инфраструктуре API. Эта информация имеет решающее значение для оптимизации и тонкой настройки вашей системы, чтобы она могла эффективно справляться с возросшими нагрузками.
  • Стресс-тестирование: Postman позволяет моделировать стрессовые условия, генерируя большие нагрузки на ваш API. Это поможет вам понять критические точки и ограничения вашей системы, что позволит вам внести необходимые улучшения.
  • Тестирование параллелизма: Нагрузочное тестирование в Postman позволяет проверить, насколько хорошо работает ваш API, когда несколько пользователей делают запросы одновременно. Это важно для приложений, которые должны обрабатывать одновременные взаимодействия с пользователем.
  • Экономичность: Выявляя и устраняя проблемы производительности на ранних этапах цикла разработки, нагрузочное тестирование с помощью Postman может способствовать экономии средств, предотвращая потенциальные простои или дорогостоящие исправления в рабочей среде.
  • Улучшенный пользовательский опыт: Убедившись, что ваш API может справляться с высокими нагрузками и хорошо работать под нагрузкой, вы можете обеспечить более плавную и надежную работу для своих пользователей.

Ограничения нагрузочного тестирования с помощью Postman

Хотя Postman отлично подходит для тестирования и разработки API, у него есть ограничения, когда дело доходит до нагрузочного тестирования. Одним из основных недостатков является его неспособность эффективно моделировать большое количество одновременных пользователей или сложные сценарии. Основное внимание Постмана сосредоточено на функциональном тестировании и валидации, а не на производительности в стрессовых условиях. Кроме того, его графический интерфейс и возможности написания сценариев могут плохо масштабироваться для больших нагрузок или сложного анализа показателей производительности по сравнению со специализированными инструментами нагрузочного тестирования, такими как LoadView. Для комплексного нагрузочного тестирования рекомендуется использовать специализированные инструменты, разработанные специально для нагрузочного тестирования, а не полагаться исключительно на Postman.

 

Нагрузочное тестирование с помощью Postman с использованием LoadView

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

В сценарии, когда вы используете Postman для тестирования функциональности веб-API и вам нужно создать нагрузочные тесты из коллекций вызовов API, вы можете использовать средство нагрузочного тестирования, такое как LoadView. LoadView обеспечивает реальное нагрузочное тестирование на основе браузера для API, а также веб-приложений (внешних и внутренних), а также веб-сайтов и серверов.

Настройка нагрузочного теста Postman

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

Шаг 1

Прежде чем мы начнем, вам нужно экспортировать коллекцию Postman. Вы можете выбрать опцию «Получить общедоступную ссылку» и легко импортировать ее в LoadView.

  • Заметка: Убедитесь, что Postman Collection использует только локальные переменные, так как переменные среды не хранятся в коллекции.
Экспорт коллекции почтальона

Шаг 2

Откройте платформу LoadView и выберите тест «Создай новую нагрузку».

 

Шаг 3

Здесь вы увидите различные типы нагрузочного тестирования, доступные в LoadView.

Веб-приложения, веб-сайты и API. В нашем примере вы выберете опцию Postman Collection, чтобы запустить тесты API.

Загрузка типа тестирования Почтальон

Шаг 4

Откроется новое окно, в котором вам нужно будет импортировать экспортированную коллекцию Postman и нажать «Создать устройство».

Запрос на коллекцию почтальона

Шаг 5

После того, как мы успешно создадим устройство, вы увидите экран Test Scenario , где вы можете установить тип нагрузки. Это зависит от цели теста.

  • Кривая на основе нагрузки. Это позволяет выполнять нагрузочные тесты с известным количеством пользователей и увеличивать трафик после заданного времени прогрева.
  • Кривая, основанная на целях. Эта конфигурация тестирования используется для достижения желаемого количества транзакций в секунду для нашего конкретного API и при масштабировании до целевых одновременных пользователей.
  • Динамическая кривая. Эта конфигурация позволяет выбирать динамические значения для количества пользователей, максимального количества пользователей и продолжительности теста. Эти настройки можно регулировать в режиме реального времени во время теста.
Типы нагрузки коллекции почтальона

Шаг 6

После создания тестового сценария со списком всех API можно выполнять нагрузочные и стресс-тесты для API.

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

Интеграция нагрузочного теста Postman Collection с Jenkins

Изучив интеграцию и выполнение нагрузочных тестов коллекции Postman с LoadView, мы можем включить эти тесты в наш конвейер CI/CD, чтобы получать согласованные отзывы и результаты производительности.

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

Рассмотрим шаги, используемые для сценария тестирования коллекции Postman, ранее созданного в LoadView, и то, как он интегрируется с Jenkins.

Шаг 1

Для интеграции тестов с Jenkins следует использовать тот же сценарий тестирования Postman, что и в предыдущем разделе.

Шаг 2

Создайте уникальный UID и скопируйте UID интеграции. Он будет использоваться в качестве маркера безопасности для интеграции в Jenkins.

Почтальон Дженкинс Интеграция UID

Шаг 3

Идентификатор тестового сценария для нашей коллекции Postman можно найти на странице настройки сценария или на странице Test History (Test Manager > , меню > тестовых действий History).

История тестирования коллекции почтальона

LoadView Плагин в Дженкинс

Чтобы настроить плагин LoadView, следуйте этим шагам:

  1. Войдите в свой аккаунт Дженкинса.
  2. В Jenkins перейдите в раздел Credentials > Add Credentials > LoadView Security Token (UID). Настройка и проверка учетных данных.
    • Добрый- Маркер безопасности (UID) LoadView.
    • Размах- Выберите Глобальный.
    • ИДЕНТИФИКАТОР- Оставьте значение по умолчанию или укажите уникальный идентификатор.
    • Описание- Укажите уникальное описание, чтобы различать учетные данные.
    • UID – Вставьте UID веб-API для нагрузочного тестирования из учетной записи LoadView. После добавления UID нажмите Validate UID , чтобы убедиться, что Jenkins может получить доступ к API LoadView.
  3. Затем выберите задание и нажмите кнопку Настроить.
Токен безопасности Jenkins LoadView

4. Перейдите в раздел Build > Post-build actions Добавьте > действие > после сборки LoadView-Run сценарий нагрузочного теста. Укажите параметры стресс-теста LoadView для сборки:

  • Верительные грамоты- Выберите ключ API, используя описание.
  • Идентификатор сценария – Вставьте идентификатор тестового сценария, который вы хотите использовать в сборке. Копировать идентификатор со страницы сценария в LoadView.
  • Порог ошибки – Укажите допустимый процент сессий с ошибками, возникшими при тестировании (не удалось получить доступ к целевому ресурсу, не найдены ключевые слова/изображение и т.д.). Если процент сеансов ошибок больше указанного значения, то сборка будет помечена как неудачная в Jenkins.
  • Среднее время – Укажите предел среднего времени отклика , измеренного во время выполнения теста. Если лимит достигнут, сборка будет помечена как сбой в Jenkins.

5. Нажмите Сохранить.

Просмотр результатов тестирования LoadView

Наконец, мы успешно интегрировали нашу коллекцию Postman с Jenkins с помощью LoadView. Во время времени времени, как работает наш стресс-тест, статус отображается в выходе консоли Jenkins в режиме реального времени.

Почтальон Дженкинс Консоль Выход
Почтальон Дженкинс LoadView Результаты тестирования производительности

Выводы: Нагрузочное тестирование API с помощью Postman

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

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

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

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

Выведите параллельное пользовательское тестирование на
новый уровень

Испытать непревзойденные функции с безграничной масштабируемостью. Ни кредитной карты, ни договора.