Стрессовое тестирование (Stress testing)

Стрессовое тестирование (stress testing): Вид тестирования производительности, оценивающий систему или компонент на граничных значениях рабочих нагрузок или за их пределами, или же в состоянии ограниченных ресурсов, таких как память или доступ к серверу. (IEEE 610)

Стрессовое тестирование (stress testing): Тип тестирования уровня производительности, проводимого для оценки поведения элемента тестирования при условиях загрузки, выше ожидаемой или указанной в требованиях к производительности, или при доступности ресурсов, ниже минимальной, указанной в требованиях. (ГОСТ 56920)

Стрессовое тестирование выполняется самым первым, если нет отдельного Capacity тестирования, хотя по факту это все равно будет Capacity, т.к. нагрузка берется «с потолка». Стресс-тестирование - это отрицательное / негативное тестирование, которые проводят при больших нагрузках или нагрузках, выходящих за допустимые пределы, чтобы определить поведение системы при таких обстоятельствах, точку отказа системы (числовые показатели метрик), показываются ли корректные ошибки при этом и не теряются ли данные. Это тестирование также называют Fatigue testing.

Виды стресс-тестирования:

  • Распределенное стресс-тестирование: тесты выполняются для всех клиентов с сервера для отслеживания их статуса, а также для выявления сбоев из-за чрезмерного стресса;

  • Стресс-тестирование приложения: основное внимание в этом тестировании уделяется обнаружению дефектов в программном обеспечении, связанных с блокировкой данных (locking and blocking), проблемами сети и узкими местами производительности;

  • Транзакционное стресс-тестирование: транзакционное тестирование выполняет стресс-тестирование одной или нескольких транзакций между различными программными продуктами или приложениями. Его основная цель - точная настройка и оптимизация системы для повышения ее производительности;

  • Систематическое стресс-тестирование: интегрированное стресс-тестирование, систематическое стресс-тестирование, используется для тестирования нескольких систем, работающих на одном сервере. Это позволяет группе тестирования обнаруживать дефекты, когда данные одного программного обеспечения блокируют другое программное обеспечение;

  • Исследовательское стресс-тестирование: используется для тестирования системы в необычных условиях, которые маловероятны в реальном сценарии. Эти сценарии стресс-тестирования позволяют группе обнаруживать различные необнаруженные проблемы и ошибки в системе;

Подход / процесс содержит те же этапы, что описаны в нагрузочном, и то же самое в остальных подвидах, поэтому дублировать нет смысла.

Примеры:

  • Стресс-тест банковской системы был остановлен при превышении отметки в 1500 пользователей, когда высокая загруженность процессора (более 80%) привела к увеличению среднего времени отклика в пять раз и массовому появлению ошибок HTTP(S);

  • MS Word может выдать сообщение об ошибке «Не отвечает» при попытке скопировать файл размером 7-8 ГБ. Вы засыпали Word файлом огромного размера, и он не смог обработать такой большой файл, и в результате он завис;

  • Когда большое количество пользователей одновременно получают доступ к логину / регистрации;

  • Когда несколько пользователей пытаются загрузить один файл одновременно;

  • База данных отключается, когда к ней обращается большое количество пользователей;

  • Много пользователей заходят на веб-сайт, в то время как на сервере запускается сканирование на вирусы;

  • Огромный объем данных копируется из буфера обмена и сохраняется в веб-форме большим количеством пользователей одновременно;

  • Огромное количество пользователей одновременно нажимают кнопку «Добавить в корзину» на сайте покупок;

Пиковое тестирование (Spike Testing) - это разновидность стресс-тестирования, проводится для проверки характеристик производительности, когда тестируемая система подвергается моделям рабочей нагрузки и объемам нагрузки, которые многократно увеличиваются за пределы ожидаемых производственных операций в течение коротких периодов времени. Обычно продолжительность теста составляет 1 час; он может отличаться в зависимости от вашего SLA / требований.

Источники:

Last updated