Какие основные виды нагрузочного тестирования?

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

Ответ

Нагрузочное тестирование делится на несколько видов, каждый из которых решает свою задачу:

Вид тестирования Цель Пример сценария
Load Testing
(Нагрузочное)
Проверить поведение системы под ожидаемой нагрузкой. Определить производительность и соответствие требованиям. 1000 пользователей одновременно работают с корзиной покупок в течение 1 часа.
Stress Testing
(Стрессовое)
Найти предел производительности и точку отказа системы при нагрузке выше нормальной. Постепенно увеличивать число пользователей с 1000 до 5000, пока система не перестанет отвечать.
Spike Testing
(Пиковое)
Проверить реакцию системы на резкие, кратковременные скачки нагрузки. Мгновенно создать нагрузку в 3000 пользователей на 2 минуты, затем вернуться к нормальной.
Soak/Endurance Testing
(Тестирование стабильности)
Выявить проблемы, возникающие при длительной работе под средней нагрузкой (утечки памяти, деградация). 500 пользователей непрерывно используют систему в течение 48 часов.
Volume Testing
(Объемное)
Проверить обработку системой больших объемов данных. Загрузить в базу данных 10 миллионов записей и выполнить типовые операции поиска и отчетности.
Scalability Testing
(Тестирование масштабируемости)
Определить, как система увеличивает производительность при добавлении ресурсов (CPU, RAM, узлов). Измерить RPS при 2, 4 и 8 серверных узлах в кластере.

Практический пример конфигурации в JMeter:

Thread Group
├─ Number of Threads (users): 100  # Количество виртуальных пользователей
├─ Ramp-Up Period (seconds): 60    # Все пользователи "подключаются" за 60 секунд
└─ Loop Count: Forever             # Выполнять сценарий бесконечно (для soak-теста)

Ключевой вывод: Каждый вид теста отвечает на конкретный вопрос о поведении системы, и их комбинация дает полную картину надежности и производительности.