1. Сначала получите документ интерфейса API от разработчика и разберитесь в бизнесе интерфейса, включая адрес интерфейса, метод запроса, входные параметры, выходные параметры, аутентификацию токена, формат возврата и другую информацию. 2. Затем используйте инструменты Postman или Jmeter для тестирования интерфейса. Общие шаги по использованию Jmeter следующие: а. Сначала создайте новую группу потоков. б. Затем создайте новое значение по умолчанию для HTTP-запроса. (Введите IP-адрес и порт сервера интерфейса) в. Создайте множество новых HTTP-запросов, по одному варианту использования на каждый запрос. (Путь входного интерфейса, метод доступа, параметры и т. д.) d. Затем создайте утверждения и просмотрите дерево результатов. 3. Наконец, отладьте и выполните вариант использования и, наконец, напишите отчет о тестировании интерфейса. 4. На самом деле, при создании интерфейса мы столкнулись с множеством проблем и решили их самостоятельно, например, искаженные возвращаемые значения (изменить файл конфигурации jmeter на кодировку UTF-8), необходимость входа в систему для получения аутентификации по токену. . и этот код аутентификации необходимо использовать в следующих запросах (используйте экстрактор регулярных выражений для извлечения значения токена и т. д.).
(1) Данные файлов cookie хранятся в браузере клиента, а данные сеанса хранятся на сервере. Токен — это код аутентификации, используемый во время тестирования интерфейса. Как правило, вы можете получить токен после входа в систему, а затем вам нужно будет вводить параметр токена каждый раз, когда вы запрашиваете интерфейс. (2) Файлы cookie не очень безопасны. Другие могут анализировать файлы cookie, хранящиеся локально, и осуществлять обман файлов cookie. С точки зрения безопасности следует использовать сеанс, и сеанс будет храниться на сервере в течение определенного периода времени. Когда количество посещений увеличивается, это требует большей производительности вашего сервера. Чтобы снизить производительность сервера, следует использовать файлы cookie. (3) Важная информация, такая как данные для входа в систему, может храниться в виде сеанса, другая информация должна быть сохранена и может быть помещена в файлы cookie;
При тестировании интерфейса обычно учитываются изменения в формах входных параметров и бизнес-логике интерфейса. Обычно для разработки тестовых примеров интерфейса используются классы эквивалентности, граничные значения и методы сценариев!
Идея разработки тест-кейсов для тестирования интерфейса заключается в следующем: 1. Тест бизнес-логики интерфейса (положительный пример) Под тестированием логики интерфейса подразумевается тестирование выходных значений, полученных при нормальных входных условиях, на основе описания бизнес-логики, входных параметров и выходных значений. Проверка корректности теста, то есть проверка правильности работы служб интерфейса, предоставляемых извне. 2. Проверка интерфейса модуля (пример счетчика) Тестирование интерфейса модуля — это тест, проводимый для обеспечения безопасности данных и корректности программной логики в нештатных обстоятельствах. Тестирование интерфейса модуля в основном включает в себя следующие аспекты: 1)Код аутентификацииtokenаномальный(Код аутентификациипусто<Нет Код аутентификации>,Неверный код аутентификации,истекший Код аутентификации)。 2) Другие параметры ненормальны: а. Проверьте необходимые элементы. б. Длина, тип и формат параметров ненормальны: Общие параметры: (число, строка, дата) Длина параметра: 6-18 бит. Или длину удостоверения личности или номер телефона. Тип параметра: цифры (точность), буквы, китайский язык, параметры с пробелами, специальные символы. Формат даты: Дата: год, месяц, день, год, месяц, день, час, минута и секунда, формат даты (включая /, -,: и т. д.). 3) Покрытие исключений кода ошибки. 4) Другие проблемы, связанные с тестированием интерфейса. Когда интерфейс имеет перелистывание страниц, тест аномального значения номера страницы и количества страниц Добавляйте, удаляйте и изменяйте базу данных. Например, после завершения операции интерфейса публикации проверьте, соответствуют ли новые данные предыдущей публикации через интерфейс страницы списка. Можно ли открыть адрес изображения, возвращаемый интерфейсом, и соответствует ли размер изображения требованиям? Когда выходные параметры связаны, необходимо проверить, соответствуют ли фактические результаты, возвращаемые двумя параметрами, требованиям. Все интерфейсы страниц списка должны учитывать сортировку значений. Все функции должны считаться совместимыми со старыми версиями.
Да, потому что данные, возвращаемые интерфейсом, поступают из базы данных, а работа интерфейса с данными требует тщательной проверки базы данных!
а. Тестирование интерфейса — это интеграционное тестирование. Чем раньше проводится тестирование, тем легче обнаружить проблемы на ранних стадиях проекта и тем ниже стоимость их устранения. б. Тестирование интерфейса происходит очень быстро. Автоматизация пользовательского интерфейса выполняет тестовый пример. Если тестовый пример интерфейса выполняется, необходимое время составляет миллисекунды.
Раньше я использовал в проекте инструмент захвата пакетов Fiddler для захвата запросов протокола HTTP. После открытия скрипача в браузере по умолчанию настраивается прокси-сервер с портом 127.0.0.1 8888. После настройки политики фильтрации в скрипаче откройте веб-сайт, который должен перехватывать пакеты и работать, и вы сможете перехватывать пакеты.
Формат сообщения данных, обычно используемый при разработке, состоящий из пар ключ-значение и массивов. Это можно сделать с помощью инструментов веб-сайта Bejson и т. д.
Встроенные переменные, предварительные сценарии для написания js-скриптов и импорта файлов в формате csv или json при пакетном запуске.
Ассоциация заключается в перехвате возвращаемого значения предыдущего интерфейса и использовании его в качестве параметра следующего интерфейса, позволяя интерфейсам работать последовательно. Шаги по настройке ассоциации в почтальоне следующие:
jmeter — это Java-инструмент с открытым исходным кодом, используемый для нагрузочного тестирования производительности. Он предназначен для анализа и измерения производительности и функционального поведения веб-приложений и различных сервисов.
jmeter действует как группа пользователей, отправляющих запросы на целевой сервер. Он собирает ответы от целевых серверов и другую статистику, которая отображает производительность приложения или сервера с помощью графиков или таблиц.
Переменные и функции можно записать в любое поле любого тестового компонента.
Используйте регулярные выражения для поиска и управления текстом на основе шаблонов. jmeter можно использовать для интерпретации форм регулярных выражений или шаблонов, используемых в плане тестирования jmeter.
Группа потоков: для любого плана тестирования элемент группы потоков является начальной частью JMeter. Это важный элемент JMeter, где вы можете установить несколько пользователей и время для загрузки всех пользователей, указанных в группе потоков. Сэмплер: Сэмплер генерирует один или несколько результатов выборки; эти результаты выборки имеют множество атрибутов, таких как прошедшее время, размер данных и т. д. Сэмплеры позволяют JMeter отправлять определенные типы запросов на сервер через сэмплер, а группа потоков определяет тип запроса, который необходимо сделать. Некоторые полезные сэмплеры включают HTTP-запросы, FTP-запросы, JDBC-запросы и т. д.
Обычно планы тестирования сохраняются в формате XML и поэтому не привязаны к какой-либо конкретной операционной системе. Он может работать в любой операционной системе, в которой может работать JMeter.
Типы процессоров в JMeter: ① препроцессор ② постпроцессор.
Пресетный процессор — это то, что происходит перед выполнением сэмплера. Для настройки примера запроса перед его выполнением или для обновления переменных, не извлеченных из текста ответа, необходим элемент препроцессора.
Некоторые компоненты препроцессора:
- HTTP Модификаторы перезаписи URL-адресов
- Модификаторы пользовательских параметров HTTP
- парсер HTML-ссылок
- BeanShell PreProcessor
Последовательность выполнения элементов плана тестирования следующая: элемент конфигурации -> препроцессор -> таймер -> пробоотборник -> постпроцессор -> утверждение -> слушатель
В регулярных выражениях «содержит» означает, что регулярное выражение соответствует хотя бы части целевого значения. Соответствие означает, что регулярное выражение соответствует всей цели. Например, «алфавит» соответствует «al.*t».
элемент конфигурация работает параллельно с сэмплером. Чтобы установить значения и переменные по умолчанию для дальнейшего использования сэмплером, вы можете использовать элемент конфигурация. в начале области действия,Эти компоненты будут обработаны в первую очередь.,и затем обработать то же самоеодин Объединить любой сэмплер в диапазоне。
По умолчанию,Поток JMeter будет отправлять запросы непрерывно, без пауз. Чтобы сделать паузу между запросами,Используемый таймер. Некоторые из используемых таймеров включают постоянный таймер.,Гауссов случайный таймер,синхронныйтаймер,Равномерный случайный таймер и т. д.
Тестовый фрагмент также является компонентом, например компонентом «Группа потоков». Единственное отличие состоит в том, что тестовый фрагмент не будет реализован, если на него не ссылается контроллер модуля или содержащий его контроллер.
утверждение помогает убедиться, что тестируемый сервер возвращает ожидаемые результаты.
Некоторые часто используемые утверждения в JMeter:
- ответутверждение
- Продолжительность утверждения
- размерутверждение(Size Assertion)
- XMLутверждение
- HTMLутверждение
① Используйте режим без графического интерфейса для выполнения тестов, например jmeter –n –t test.jmx –l test.jtl ② Во время загрузки тест не использует слушателя «Просмотр дерева результатов» или «Просмотр результатов в таблице», они используются только на этапе написания сценария; ③Не используйте функциональный режим; ④ Вместо использования большого количества одинаковых сэмплеров лучше использовать один и тот же сэмплер в цикле и использовать переменные для изменения выборки;
За счет синхронизации можно добиться таймераJ Метрический тест тест. Синхронный таймер будет блокировать потоки до тех пор, пока не будет заблокировано определенное количество потоков, а затем освобождать их все, создавая огромную временную нагрузку. пиковый тест Его также можно назвать шоковым тестированием, при котором сервер подвергается многократному воздействию шока. Это относится к сценарию, когда количество пользователей и давление внезапно увеличиваются в определенный момент или в несколько раз.
Обычно сценарии можно записать путем записи: Во-первых, его необходимо использовать в Testplan (план тестирования). Группа тем, а затем в Верстак Использовать HTTP-прокси-сервер; После этого установите номер порта (например, 8911) в поле «Глобальные настройки», а затем IEРасширенные параметры>соединять>настройка локальной сети включать Настройки прокси-сервера и измените адрес на localhost и порт на 8911. Затем выберите прокси-сервер HTTP. целевой контроллер Testplan>Threadgroup,Затем запустите прокси-сервер HTTP и запустите приложение для входа в систему.
одиннекоторыйJMeterслушательда:Отчет о сборе、сводный отчет、Посмотреть дерево результатов、Просмотр результатов с помощью таблицы、Графические результаты、BeanShell Слушатель, сводный отчет и т. д.
Распределенное нагрузочное тестирование — это процесс, с помощью которого можно смоделировать всю систему под нагрузкой от большого количества пользователей. Используя конфигурацию «главный-подчиненный», JMeter может выполнять распределенное нагрузочное тестирование.
Вы можете исключить явные вызовы всех встроенных ресурсов. Внизу запроса есть флажок «получить встроенные ресурсы». Он захватывает все CSS, JPG и т. д. Это отличный способ найти ресурсы и разорвать ссылки в вашем веб-приложении.
С помощью таймера JMeter может задерживать время между каждым запросом, сделанным потоком. Это может решить проблему перегрузки сервера.
Для выполнения каких-либо действий после выполнения запроса используйте постпроцессор. Например, если JMeter отправляет HTTP-запрос на веб-сервер, и если вы хотите, чтобы JMeter прекратил отправку запросов, когда веб-сервер показывает ошибку, для этого вам следует использовать постпроцессор.
JMeter предоставляет такие преимущества при тестировании производительности, как: Используется для проверки производительности статических и динамических ресурсов; Может использоваться для проверки максимального количества одновременных пользователей веб-сайта для анализа и обнаружения узких мест веб-сайта; Обеспечивает графический анализ отчетов о производительности;
Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/187475.html Исходная ссылка: https://javaforall.cn