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

Load QA Junior Процессы и Метрики обновлено 12.10.2025

Краткий ответ

Нагрузочное тестирование (Load Testing) — это вид нефункционального тестирования, при котором проверяется,
как система ведёт себя под определённой нагрузкой (количество пользователей, запросов, операций).
Цель — убедиться, что система выдерживает ожидаемое количество одновременных пользователей без ошибок и деградации производительности.

Пример:
Банк проверяет, выдержит ли мобильное приложение 10 000 одновременных входов без падений и задержек API.

Полный ответ

🔹 Определение

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

  • как быстро система отвечает,

  • при какой нагрузке начинаются сбои,

  • и выдержит ли она реальные пользовательские потоки.

Относится к группе нефункциональных тестов (проверяет “как работает”, а не “что делает”).


🔹 Цели нагрузочного тестирования

  1. Проверить, выдерживает ли система ожидаемую рабочую нагрузку.

  2. Найти узкие места — медленные запросы, слабые модули, ошибки при пиках.

  3. Определить максимальную пропускную способность и точку деградации.

  4. Подготовить систему к пиковым нагрузкам (распродажи, зарплатные дни, отчётные периоды).


🔹 Основные показатели (метрики)

Метрика Что показывает Пример
Response Time (RT) Среднее время отклика ≤ 2 сек при 1000 пользователей
Throughput (TPS / RPS) Кол-во запросов в секунду 250 RPS на API /login
Error Rate Процент неуспешных запросов ≤ 1%
CPU / RAM Utilization Использование ресурсов Не более 80% загрузки CPU
95th Percentile Время ответа 95% самых быстрых запросов 95% ответов < 2 сек

🔹 Виды нагрузочного тестирования

Вид Цель Пример
Load Testing Проверить систему под ожидаемой нагрузкой 5000 пользователей → всё работает стабильно
Stress Testing Проверить предел (максимум) системы 15 000 пользователей → начинается деградация
Spike Testing Проверить реакцию на резкий всплеск нагрузки Резкий рост до 10 000 запросов/сек → система успевает адаптироваться
Endurance (Soak) Testing Проверить работу при длительной нагрузке 24 часа под постоянной нагрузкой → нет утечек памяти

🔹 Инструменты

  • JMeter — классика, удобен для API и UI.

  • Gatling, k6, Locust — современные фреймворки (кодом).

  • BlazeMeter, LoadRunner, Yandex.Tank, NeoLoad — для промышленных нагрузок.

Пример:
JMeter-сценарий эмулирует 1000 пользователей, делающих POST /login и GET /balance раз в 10 секунд.


🔹 Пример из практики

Банк перед запуском новой версии мобильного приложения провёл нагрузочные тесты:

  • 5000 пользователей → время ответа API < 1.5 сек.

  • 10 000 пользователей → 3% ошибок, CPU 85% — точка деградации.

  • После оптимизации кеширования → стабильная работа при 12 000 пользователях.


🔹 Что даёт бизнесу

✅ Предотвращает падения продакшна при пиках нагрузки.
✅ Помогает планировать инфраструктуру (серверы, лицензии, балансировку).
✅ Снижает репутационные и финансовые риски.


💡 Итог:
Нагрузочное тестирование — это проверка устойчивости и производительности системы под реальной нагрузкой.
Оно помогает найти предел возможностей продукта до релиза, а не на глазах у пользователей.

Оцените ответ
0 / 5 · 0