Ответ
Нагрузочное тестирование — это тип нефункционального тестирования, целью которого является оценка поведения системы под заданной ожидаемой или пиковой нагрузкой.
Основные цели:
- Определить пропускную способность и время отклика приложения.
- Оценить стабильность и отказоустойчивость под нагрузкой.
- Выявить узкие места в производительности (баттлнеки).
Ключевые метрики:
- Время отклика (Response Time)
- Количество запросов в секунду (RPS — Requests Per Second)
- Процент ошибок (Error Rate)
- Использование ресурсов: ЦПУ, память, диск, сеть.
Пример сценария для JMeter (концептуально):
Thread Group: 500 виртуальных пользователей
├── Ramp-Up Period: 120 секунд (плавный выход на полную нагрузку)
├── Loop Count: 50 итераций на пользователя
└── HTTP Request: GET /api/products
Основные виды нагрузочного тестирования:
- Load Test: Проверка под планируемой нагрузкой.
- Stress Test: Нагрузка за пределами нормальных условий для поиска точки отказа.
- Soak/Endurance Test: Длительная нагрузка для выявления утечек памяти.
- Spike Test: Резкие, кратковременные скачки нагрузки.