Коллекции Postman. Часть 3

Коллекции Postman. Часть 1 читайте здесь

Коллекции Postman. Часть 2 читайте здесь

Содержание:

Моделирование пользовательского трафика для тестирования производительности API

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

Полезность. Скачивайте книгу API Testing and Development with Postman.PDF

Тестирование производительности API с виртуальными пользователями

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

Просмотр показателей производительности в реальном времени

Тесты производительности выполняются в приложении Postman для ПК на вашем компьютере, а не в облаке. При запуске теста Collection Runner отображает показатели производительности в реальном времени.

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

Поиск и устранение проблем с производительностью

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

Использование уникальных данных для каждого виртуального пользователя

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

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

Используйте Collection Runner для тестирования производительности вашего API с теми же запросами и коллекциями, которые вы используете для функционального тестирования API. При запуске теста производительности Postman использует запросы из выбранной коллекции для имитации активности пользователей API.

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

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

Используйте приложение Postman для ПК для настройки и запуска тестов производительности. Веб-версия Postman не поддерживает тестирование производительности. Во время теста производительности все запросы отправляются с компьютера, на котором запущено приложение Postman для ПК.

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

Вы можете добавлять скрипты и тесты в пакеты в Package Library вашей команды и запускать содержимое пакетов через Collection Runner. Узнайте, как добавлять пакеты в Package Library и импортировать пакеты в ваши pre-request и post-response скрипты.

Чтобы настроить тест производительности в приложении Postman для ПК, выполните следующие шаги:

  1. Выберите Collections на боковой панели и выберите коллекцию или папку, которую вы хотите использовать для тестирования производительности. Вы также можете использовать коллекцию или папку, связанную с API, для запуска теста производительности. Узнайте больше о добавлении коллекции в API .
  2. На вкладке Overview нажмите Значок бегуна Run.

Вы также можете выбрать Значок бегуна Runner в нижнем части Postman и перетащить коллекцию из раздела Collections или History на боковой панели.

  1. Выберите вкладку Performance.
  2. (Необязательно) Измените порядок выполнения запросов, перетащив запрос в новое место. Чтобы пропустить запрос, снимите флажок рядом с его именем.

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

  1. Введите количество виртуальных пользователей (Virtual users). Во время выполнения теста каждый виртуальный пользователь выполняет выбранные запросы в указанном порядке в повторяющемся цикле. Большее количество виртуальных пользователей увеличивает нагрузку на ваш API.

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

  1. Введите продолжительность теста (Test duration) в минутах.
  2. Выберите профиль нагрузки Load profile.
    • Fixed — максимальное количество виртуальных пользователей используется на протяжении всего теста.
    • Ramp up — введите начальную нагрузку (Initial load) и перетащите ползунки, чтобы настроить продолжительность периода увеличения нагрузки. В течение этого периода количество виртуальных пользователей увеличивается от начальной нагрузки до максимального значения.
    • Spike — введите базовую нагрузку (Base load) и перетащите ползунки, чтобы настроить продолжительность всплеска. Во время всплеска количество виртуальных пользователей увеличивается от базовой нагрузки до максимума, затем снижается обратно до базовой нагрузки.
    • Peak — введите базовую нагрузку (Base load) и перетащите ползунки, чтобы настроить продолжительность пика. Во время пика количество виртуальных пользователей увеличивается от базовой нагрузки до максимума, удерживается на максимуме, а затем снижается обратно до базовой нагрузки.
  3. (Необязательно) Выберите файл данных  (Data file) с пользовательскими значениями, которые будут использоваться для каждого виртуального пользователя. Файл должен быть в формате CSV или JSON.
  4. Когда вы будете готовы начать тест производительности, нажмите Run.

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

Количество виртуальных пользователей, которых можно моделировать в тесте производительности, зависит от доступных системных ресурсов и используемой коллекции для теста. Использование скриптов для pre-request и post-response уменьшает количество виртуальных пользователей, которых можно моделировать.

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

  • Хост с 8 ядрами ЦП и 16 ГБ ОЗУ может имитировать до 250 виртуальных пользователей.
  • Хост с 16 ядрами ЦП и 32 ГБ ОЗУ может имитировать до 500 виртуальных пользователей.

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

Переименование запуска теста производительности

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

Чтобы переименовать запуск теста производительности, начните новый запуск или откройте прошлый запуск. Выберите имя запуска и введите новое имя.

Просмотр предыдущих запусков тестов производительности

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

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

Просмотр показателей производительности

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

Чтобы понять, как изменилась производительность вашего API со временем, вы можете выбрать два запуска тестов и сравнить метрики между ними.

Просмотр показателей производительности

Вкладка Summary отображает метрики производительности в реальном времени, позволяя вам наблюдать, как ваш API работает под нагрузкой.

Вы можете просмотреть следующую информацию о тесте производительности:

  • Название коллекции и активное окружение (если используется). Выберите название, чтобы открыть коллекцию или окружение.
  • Количество виртуальных пользователей (VU) – каждый виртуальный пользователь имитирует поведение реального пользователя, выполняя коллекцию в повторяющемся цикле параллельно с другими виртуальными пользователями.
  • Время начала, продолжительность, профиль нагрузки и файл данных (если используется).
  • Total requests sent – суммарное количество запросов, отправленных всеми виртуальными пользователями.
  • Requests/second — количество запросов, отправляемых каждую секунду во время теста, что является показателем пропускной способности.
  • Avg. response time — среднее время отклика всех запросов в миллисекундах.
  • Error rate – процент запросов, завершившихся с ошибкой. Любые ответы, отличные от 2xx, считаются ошибками.

На вкладке Summary вы можете выполнить следующие действия:

  • Выберите Stop, чтобы остановить тест производительности.
  • Выберите Run Again, чтобы настроить и запустить тест заново.
  • Выберите Share, затем Copy Link, чтобы скопировать ссылку в буфер обмена.
  • Чтобы скачать отчет, нажмите на иконку дополнительных действий Значок дополнительных действий и выберите Export PDF report или Export HTML report. Отчет содержит данные о времени отклика, пропускной способности, самых медленных запросах, запросах с наибольшим числом ошибок, метриках по каждому запросу и списке ошибок.
  • Чтобы просмотреть список всех прошлых запусков для коллекции, нажмите на иконку дополнительных действий Значок дополнительных действий и выберите View all runs.
  • Выберите название запроса, чтобы просмотреть его детали.

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

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

Чтобы увидеть больше деталей, наведите курсор на точку на графике.

Выберите метрику в легенде под графиком, чтобы показать или скрыть её отображение на графике.

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

  • Avg. response — среднее время отклика (в миллисекундах) для всех запросов.
  • Min response — минимальное зафиксированное время отклика.
  • Max response – максимальное зафиксированное время отклика.
  • 99th percentile – 99% всех времен отклика меньше или равны этому значению.
  • 95th percentile – 95% всех времен отклика меньше или равны этому значению.
  • 90th percentile – 90% всех времен отклика меньше или равны этому значению.

Чтобы вернуть график к виду по умолчанию, выберите Reset.

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

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

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

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

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

Чтобы сравнить два запуска теста производительности, выполните следующие шаги:

  1. Откройте прошлый запуск, с которым вы хотите сравнить другие. Этот запуск будет эталонным.
  2. Выберите Значок полного экрана Compare runs, чтобы перейти в режим сравнения.
  3. Выберите запуск теста производительности для сравнения с эталонным запуском. Выберите недавний запуск из списка или найдите запуск по названию.
  4. Используйте представление производительности для сравнения выбранных запусков:
    • График отображает данные производительности для эталонного запуска (сплошные линии) и запуска для сравнения (пунктирные линии). Наведите курсор на точку на графике, чтобы увидеть дополнительные детали.
    • Таблица под графиком показывает, как значения в запуске для сравнения отличаются от эталонного запуска. Значение зеленого цвета ( ▼ ) указывает на лучшую производительность, а значение красного цвета ( ▲ ) указывает на худшую производительность. Значения серого цвета указывают на различия, которые необязательно являются лучшими или худшими.
    • Вы можете настроить представление производительности для отображения показателей или запросов, сравнение которых вас больше всего интересует.
    • В любое время вы можете выбрать другой запуск для сравнения из списка.
  5. Когда вы закончите сравнивать запуски, выберите Exit Comparison.

Просмотр сведений об ошибках для тестов производительности

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

Просмотр основных ошибок

Вы можете просматривать основные ошибки на вкладке Summary как во время выполнения теста производительности, так и после его завершения.

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

Выберите Error rate, чтобы просмотреть основные ошибки для всего теста.

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

Для просмотра тенденций ошибок выберите вкладку Errors. Также вы можете выбрать Error rate на вкладке Summary и выбрать View Error Trends.

Вы можете просмотреть следующую информацию о тенденциях ошибок:

  • Error rate – процент запросов, которые завершились ошибкой. Ответы, отличные от 2xx, считаются ошибками.
  • Errored requests / Total requests sent – количество запросов, приведших к ошибкам, по сравнению с общим количеством запросов, отправленных всеми виртуальными пользователями.
  • Top error – тип ошибки, которая произошла наиболее часто в ходе теста.
  • Top request with errors – запрос, который получил наибольшее количество ответов с ошибками. Выберите название запроса, чтобы открыть его.

На вкладке Errors вы можете выполнить следующие действия:

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

Отладка ошибок

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

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

Выберите запрос, чтобы просмотреть подробности, включая ответ, заголовки и тело запроса. Используйте элементы управления на вкладке Response, чтобы отформатировать, скопировать или выполнить поиск в ответе. Чтобы открыть запрос, выберите его название.

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

Использование файла данных для моделирования виртуальных пользователей

При настройке теста производительности вы указываете количество виртуальных пользователей . Во время теста каждый виртуальный пользователь (VU) запускает выполнение выбранных запросов в указанном порядке в повторяющемся цикле. Вы можете настроить поведение виртуальных пользователей, импортировав файл CSV или JSON

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

Запуск теста производительности с использованием файла данных

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

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

Чтобы запустить тест производительности с использованием файла данных, выполните следующие шаги:

  1. Настройте тест производительности , указав количество виртуальных пользователей (Virtual users)продолжительность теста (Test duration) и профиль нагрузки (Load profile).
  2. Выберите файл данных (Data file) с пользовательскими значениями для использования для каждого виртуального пользователя. После выбора файла данных отобразится предварительный просмотр этого файла. Файл данных должен быть в формате CSV или JSON. Узнайте больше о форматировании файла данных.
  1. Postman автоматически определяет тип файла данных (Data file type). При необходимости вы можете выбрать другой тип файла (CSV или JSON).
  2. В разделе VU data mapping выберите, как строки в файле данных сопоставляются с виртуальными пользователями:
    • Ordered — Каждый виртуальный пользователь (VU) использует данные из конкретной строки файла данных. Первый VU использует первую строку данных, второй VU — вторую строку, и так далее. Паттерн продолжается, пока каждый VU не получит свою строку данных. Избыточные строки не используются.
    • Randomized — Каждый виртуальный пользователь использует данные из случайной строки файла данных каждый раз, когда выполняет коллекцию.
    • Если вы выберете Ordered и ваш файл данных содержит меньше строк, чем количество виртуальных пользователей (VUs), некоторые VUs не получат данные во время теста производительности. Вы можете добавить дополнительные строки в файл данных и импортировать его снова, либо выбрать Randomized.
  3. Для файлов CSV Postman автоматически определяет тип данных для каждого столбца в файле. При необходимости вы можете использовать выпадающее меню в верхней части столбца, чтобы выбрать другой тип данных (String, Boolean или Number).
  4. Выберите Continue, когда закончите настройку файла данных. Вы можете выбрать значок настроек Значок настроек файла данных, чтобы повторно настроить файл данных. Вы также можете выбрать новый файл данных или выбрать значок удаления, Удалить значокчтобы удалить файл данных.
  1. Выберите Run, чтобы запустить тест производительности с использованием файла данных. Каждый VU будет использовать назначенные данные из файла данных для заполнения переменных при выполнении запросов в коллекции.

Формат файла данных

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

Для CSV файлов учитывайте следующее:

  • Если числа в вашем файле данных длиннее 15 цифр, вам необходимо отформатировать их как текст в программе для работы с таблицами, чтобы они не обрезались при экспорте в формат CSV.
  • Если ваш CSV файл содержит числа длиной более 16 цифр, числа с ведущими нулями (например, 000000345) или номера телефонов (например, +12125556709), вам нужно будет настроить файл в Postman и указать тип данных String для соответствующего столбца.

Форматируйте файлы JSON как массив пар ключ-значение. Каждый ключ — это имя переменной, а значение — это данные для использования в запросе.

Имена переменных чувствительны к регистру, поэтому обязательно используйте тот же регистр для переменных в Postman, что и в файле CSV или JSON. Переменные в файлах данных обрабатываются как локальные переменные, поэтому вы можете получить к ним доступ с помощью pm.variables.get("variable_key"). Узнайте больше об использовании переменных в скриптах.

Отладка ошибок при использовании файлов данных

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

Файлы данных не сохраняются для предыдущих запусков тестов производительности.

Перевод статьи «Simulate user traffic to test your API performance».

🔥 Какой была ваша первая зарплата в QA и как вы искали первую работу? 

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

Читать в телеграм

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *