Вопросы для собеседования, связанные с jmeter_вопросы и ответы для собеседования jmeter
Вопросы для собеседования, связанные с jmeter_вопросы и ответы для собеседования jmeter

один、интерфейстест

1. Процесс тестирования интерфейса

1. Сначала получите документ интерфейса API от разработчика и разберитесь в бизнесе интерфейса, включая адрес интерфейса, метод запроса, входные параметры, выходные параметры, аутентификацию токена, формат возврата и другую информацию. 2. Затем используйте инструменты Postman или Jmeter для тестирования интерфейса. Общие шаги по использованию Jmeter следующие: а. Сначала создайте новую группу потоков. б. Затем создайте новое значение по умолчанию для HTTP-запроса. (Введите IP-адрес и порт сервера интерфейса) в. Создайте множество новых HTTP-запросов, по одному варианту использования на каждый запрос. (Путь входного интерфейса, метод доступа, параметры и т. д.) d. Затем создайте утверждения и просмотрите дерево результатов. 3. Наконец, отладьте и выполните вариант использования и, наконец, напишите отчет о тестировании интерфейса. 4. На самом деле, при создании интерфейса мы столкнулись с множеством проблем и решили их самостоятельно, например, искаженные возвращаемые значения (изменить файл конфигурации jmeter на кодировку UTF-8), необходимость входа в систему для получения аутентификации по токену. . и этот код аутентификации необходимо использовать в следующих запросах (используйте экстрактор регулярных выражений для извлечения значения токена и т. д.).

2. Кратко опишите различия между файлами cookie, сессиями и токенами:

(1) Данные файлов cookie хранятся в браузере клиента, а данные сеанса хранятся на сервере. Токен — это код аутентификации, используемый во время тестирования интерфейса. Как правило, вы можете получить токен после входа в систему, а затем вам нужно будет вводить параметр токена каждый раз, когда вы запрашиваете интерфейс. (2) Файлы cookie не очень безопасны. Другие могут анализировать файлы cookie, хранящиеся локально, и осуществлять обман файлов cookie. С точки зрения безопасности следует использовать сеанс, и сеанс будет храниться на сервере в течение определенного периода времени. Когда количество посещений увеличивается, это требует большей производительности вашего сервера. Чтобы снизить производительность сервера, следует использовать файлы cookie. (3) Важная информация, такая как данные для входа в систему, может храниться в виде сеанса, другая информация должна быть сохранена и может быть помещена в файлы cookie;

3. Как разработать тестовые примеры для тестирования интерфейса?

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

Идея разработки тест-кейсов для тестирования интерфейса заключается в следующем: 1. Тест бизнес-логики интерфейса (положительный пример) Под тестированием логики интерфейса подразумевается тестирование выходных значений, полученных при нормальных входных условиях, на основе описания бизнес-логики, входных параметров и выходных значений. Проверка корректности теста, то есть проверка правильности работы служб интерфейса, предоставляемых извне. 2. Проверка интерфейса модуля (пример счетчика) Тестирование интерфейса модуля — это тест, проводимый для обеспечения безопасности данных и корректности программной логики в нештатных обстоятельствах. Тестирование интерфейса модуля в основном включает в себя следующие аспекты: 1)Код аутентификацииtokenаномальный(Код аутентификациипусто<Нет Код аутентификации>,Неверный код аутентификации,истекший Код аутентификации)。 2) Другие параметры ненормальны: а. Проверьте необходимые элементы. б. Длина, тип и формат параметров ненормальны: Общие параметры: (число, строка, дата) Длина параметра: 6-18 бит. Или длину удостоверения личности или номер телефона. Тип параметра: цифры (точность), буквы, китайский язык, параметры с пробелами, специальные символы. Формат даты: Дата: год, месяц, день, год, месяц, день, час, минута и секунда, формат даты (включая /, -,: и т. д.). 3) Покрытие исключений кода ошибки. 4) Другие проблемы, связанные с тестированием интерфейса. Когда интерфейс имеет перелистывание страниц, тест аномального значения номера страницы и количества страниц Добавляйте, удаляйте и изменяйте базу данных. Например, после завершения операции интерфейса публикации проверьте, соответствуют ли новые данные предыдущей публикации через интерфейс страницы списка. Можно ли открыть адрес изображения, возвращаемый интерфейсом, и соответствует ли размер изображения требованиям? Когда выходные параметры связаны, необходимо проверить, соответствуют ли фактические результаты, возвращаемые двумя параметрами, требованиям. Все интерфейсы страниц списка должны учитывать сортировку значений. Все функции должны считаться совместимыми со старыми версиями.

4. Сравнивается ли база данных во время выполнения теста интерфейса?

Да, потому что данные, возвращаемые интерфейсом, поступают из базы данных, а работа интерфейса с данными требует тщательной проверки базы данных!

5. Зачем проводить тестирование интерфейса?

а. Тестирование интерфейса — это интеграционное тестирование. Чем раньше проводится тестирование, тем легче обнаружить проблемы на ранних стадиях проекта и тем ниже стоимость их устранения. б. Тестирование интерфейса происходит очень быстро. Автоматизация пользовательского интерфейса выполняет тестовый пример. Если тестовый пример интерфейса выполняется, необходимое время составляет миллисекунды.

7. Использовали ли вы когда-нибудь раньше инструмент перехвата пакетов? Как его использовать?

Раньше я использовал в проекте инструмент захвата пакетов Fiddler для захвата запросов протокола HTTP. После открытия скрипача в браузере по умолчанию настраивается прокси-сервер с портом 127.0.0.1 8888. После настройки политики фильтрации в скрипаче откройте веб-сайт, который должен перехватывать пакеты и работать, и вы сможете перехватывать пакеты.

8. Что такое данные json? Как вы обычно анализируете данные json?

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

9. Как параметризовать почтальона?

Встроенные переменные, предварительные сценарии для написания js-скриптов и импорта файлов в формате csv или json при пакетном запуске.

10. Что означает ассоциация при тестировании интерфейса? Как настроить связь с почтальоном?

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

  1. Сначала перехватите информацию, необходимую следующему интерфейсу, из предыдущего интерфейса посредством извлечения регулярных выражений или получения значения JSON.
  2. Используйте код, который устанавливает глобальную переменную, чтобы сохранить полученное значение в глобальной переменной.
  3. В следующем интерфейсе используйте { {глобальная переменная}} вместо заменяемого статического значения

2. Джмет

1. Объясните, что такое jmeter?

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

2. Объясните принцип работы jmeter?

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

3. Объясните, где можно использовать функции и переменные?

Переменные и функции можно записать в любое поле любого тестового компонента.

4. Упомянули, что такое регулярное выражение в jmeter?

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

5.Объясните, что такое сэмплеры и группы потоков?

Группа потоков: для любого плана тестирования элемент группы потоков является начальной частью JMeter. Это важный элемент JMeter, где вы можете установить несколько пользователей и время для загрузки всех пользователей, указанных в группе потоков. Сэмплер: Сэмплер генерирует один или несколько результатов выборки; эти результаты выборки имеют множество атрибутов, таких как прошедшее время, размер данных и т. д. Сэмплеры позволяют JMeter отправлять определенные типы запросов на сервер через сэмплер, а группа потоков определяет тип запроса, который необходимо сделать. Некоторые полезные сэмплеры включают HTTP-запросы, FTP-запросы, JDBC-запросы и т. д.

6. Зависит ли план тестирования, созданный с помощью JMeter, от операционной системы?

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

7. Какие типы процессоров упоминаются в JMeter?

Типы процессоров в JMeter: ① препроцессор ② постпроцессор.

8. Объясните, что такое элемент препроцессора? Перечислите некоторые компоненты препроцессора?

Пресетный процессор — это то, что происходит перед выполнением сэмплера. Для настройки примера запроса перед его выполнением или для обновления переменных, не извлеченных из текста ответа, необходим элемент препроцессора.   Некоторые компоненты препроцессора: - HTTP Модификаторы перезаписи URL-адресов - Модификаторы пользовательских параметров HTTP - парсер HTML-ссылок - BeanShell PreProcessor

9. Указан ли порядок выполнения тестовых компонентов?

Последовательность выполнения элементов плана тестирования следующая:   элемент конфигурации -> препроцессор -> таймер -> пробоотборник -> постпроцессор -> утверждение -> слушатель

10. Что означают слова «содержит» и «соответствует» в регулярных выражениях?

В регулярных выражениях «содержит» означает, что регулярное выражение соответствует хотя бы части целевого значения. Соответствие означает, что регулярное выражение соответствует всей цели. Например, «алфавит» соответствует «al.*t».

11. Объясните, что такое компонент конфигурации?

элемент конфигурация работает параллельно с сэмплером. Чтобы установить значения и переменные по умолчанию для дальнейшего использования сэмплером, вы можете использовать элемент конфигурация. в начале области действия,Эти компоненты будут обработаны в первую очередь.,и затем обработать то же самоеодин Объединить любой сэмплер в диапазоне。

12. Объясните, что такое таймер в JMeter и какие бывают его типы?

По умолчанию,Поток JMeter будет отправлять запросы непрерывно, без пауз. Чтобы сделать паузу между запросами,Используемый таймер. Некоторые из используемых таймеров включают постоянный таймер.,Гауссов случайный таймер,синхронныйтаймер,Равномерный случайный таймер и т. д.

13. Объясните, что такое тестовый фрагмент?

Тестовый фрагмент также является компонентом, например компонентом «Группа потоков». Единственное отличие состоит в том, что тестовый фрагмент не будет реализован, если на него не ссылается контроллер модуля или содержащий его контроллер.

14. Объясните, что такое утверждения в JMeter? Каковы типы утверждений?

утверждение помогает убедиться, что тестируемый сервер возвращает ожидаемые результаты.   Некоторые часто используемые утверждения в JMeter: - ответутверждение - Продолжительность утверждения - размерутверждение(Size Assertion) - XMLутверждение - HTMLутверждение

15. Объясните, как снизить требования к ресурсам в JMeter?

① Используйте режим без графического интерфейса для выполнения тестов, например jmeter –n –t test.jmx –l test.jtl   ② Во время загрузки тест не использует слушателя «Просмотр дерева результатов» или «Просмотр результатов в таблице», они используются только на этапе написания сценария;   ③Не используйте функциональный режим;   ④ Вместо использования большого количества одинаковых сэмплеров лучше использовать один и тот же сэмплер в цикле и использовать переменные для изменения выборки;

16. Объясните, как проводить пиковое тестирование в JMeter?

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

17. Скрипт, объясняющий, как захватить окно аутентификации в JMeter?

Обычно сценарии можно записать путем записи:   Во-первых, его необходимо использовать в Testplan (план тестирования). Группа тем, а затем в Верстак Использовать HTTP-прокси-сервер;   После этого установите номер порта (например, 8911) в поле «Глобальные настройки», а затем IEРасширенные параметры>соединять>настройка локальной сети включать Настройки прокси-сервера и измените адрес на localhost и порт на 8911. Затем выберите прокси-сервер HTTP. целевой контроллер Testplan>Threadgroup,Затем запустите прокси-сервер HTTP и запустите приложение для входа в систему.

18. Укажите, сколько слушателей JMeter?

одиннекоторыйJMeterслушательда:Отчет о сборе、сводный отчет、Посмотреть дерево результатов、Просмотр результатов с помощью таблицы、Графические результаты、BeanShell Слушатель, сводный отчет и т. д.

19. Что такое распределенное нагрузочное тестирование? Как этого добиться?

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

20. Нужно ли явно вызывать встроенные ресурсы в JMeter?

Вы можете исключить явные вызовы всех встроенных ресурсов. Внизу запроса есть флажок «получить встроенные ресурсы». Он захватывает все CSS, JPG и т. д. Это отличный способ найти ресурсы и разорвать ссылки в вашем веб-приложении.

21. Объясните роль таймера в JMeter?

С помощью таймера JMeter может задерживать время между каждым запросом, сделанным потоком. Это может решить проблему перегрузки сервера.

22. Объясните, что такое постпроцессор?

Для выполнения каких-либо действий после выполнения запроса используйте постпроцессор. Например, если JMeter отправляет HTTP-запрос на веб-сервер, и если вы хотите, чтобы JMeter прекратил отправку запросов, когда веб-сервер показывает ошибку, для этого вам следует использовать постпроцессор.

23. Какие преимущества предоставляет JMeter для тестирования производительности?

JMeter предоставляет такие преимущества при тестировании производительности, как: ​Используется для проверки производительности статических и динамических ресурсов; Может использоваться для проверки максимального количества одновременных пользователей веб-сайта для анализа и обнаружения узких мест веб-сайта; Обеспечивает графический анализ отчетов о производительности;

24. Каковы способы реализации параметризации jmeter?
  1. конфигурация элемента — определяемые пользователем переменные компоненты могут устанавливать глобальные переменные.
  2. В диалоговом окне помощника по функциям вы можете выбирать в качестве параметров случайные строки, случайные даты и случайные числа.
  3. В качестве параметризации можно использовать файлы csv через набор данных csv.

3. Справочные ссылки

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

Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/187475.html Исходная ссылка: https://javaforall.cn

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.