Ответ
Apache JMeter — это инструмент с открытым исходным кодом для нагрузочного (performance) и функционального тестирования. Он имитирует нагрузку от множества пользователей на сервер, сеть или объект для анализа его производительности и устойчивости.
Основные сценарии использования:
- Нагрузочное тестирование веб-приложений и API (HTTP/HTTPS, REST, SOAP).
- Тестирование баз данных через JDBC.
- Тестирование FTP-серверов и почтовых протоколов (SMTP, POP3).
Ключевые компоненты тест-плана:
- Thread Group: Определяет количество виртуальных пользователей (потоков), время рампы и циклы выполнения.
- Samplers: Запросы к серверу (HTTP Request, JDBC Request).
- Listeners: Сбор и визуализация результатов (графики, таблицы, деревья результатов).
- Assertions: Проверка корректности ответов сервера (проверка кода ответа, наличия текста).
- Pre/Post Processors: Обработка данных до или после запроса (например, извлечение токена из ответа).
Пример простого HTTP-запроса в JMeter:
Thread Group (Number of Threads: 100, Ramp-up: 10 seconds)
└── HTTP Request
├── Protocol: https
├── Server Name: api.example.com
├── Method: GET
└── Path: /v1/products
Почему это важно: JMeter помогает выявлять узкие места производительности (баттлнеки), определять максимальную пропускную способность системы и проверять ее стабильность под нагрузкой.