Что такое нагрузочное тестирование?

«Что такое нагрузочное тестирование?» — вопрос из категории Тестирование производительности, который задают на 24% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Основные цели:

  1. Определить пропускную способность и время отклика приложения.
  2. Оценить стабильность и отказоустойчивость под нагрузкой.
  3. Выявить узкие места в производительности (баттлнеки).

Ключевые метрики:

  • Время отклика (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: Резкие, кратковременные скачки нагрузки.