В чем разница между нагрузочным и стрессовым тестированием?

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

Ответ

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

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

Ключевые различия: Критерий Нагрузочное тестирование Стрессовое тестирование
Цель Проверить производительность при целевой нагрузке Найти точку отказа и проверить отказоустойчивость
Нагрузка Ожидаемая, реалистичная Сверхнормативная, до предела и выше
Метрики Время отклика, throughput, использование ресурсов Максимальная нагрузка, поведение при сбое, восстановление

Пример сценария (концептуальный):

  • Нагрузочное: 1000 одновременных пользователей совершают типичные действия на сайте.
  • Стрессовое: Постепенное увеличение нагрузки до 5000 пользователей, чтобы увидеть, когда база данных перестает отвечать и как система ведет себя при перегрузке.