Тестирование пиков нагрузки (spike testing)

Описание 

Тестирование пиковой нагрузки (тестирование пиков, spike testing, иногда спайк-тестирование) — один из видов тестирования производительности. Приложение (сайт) получает резкое и очень большое повышение нагрузки (количества запросов к серверу), с последующим столь же резким понижением. Цель такого тестирования — изучить поведение приложения при экстремальных скачках трафика, и предусмотреть действия команды, если и когда такое случится. Предметом изучения также является поведение системы после скачков трафика.

Особенности

Во время спайк-тестирования команда проверяет, что в приложении пострадало (ухудшилось, замедлилось, зависло, или вообще прекратило функционировать). 

Понимание, что, где, и когда в приложении «поломалось» при скачке трафика, позволяет разработчикам лучше к этому подготовиться, «подтянуть» программную и аппаратную части системы. 

Классический пример тестирования пиковой нагрузки — подготовка приложения магазина к «черной пятнице».

Для такого тестирования, как правило, готовят отдельное тестовое окружение. Максимумы нагрузки должны быть примерно известны до начала; так что команда сосредоточится на анализе производительности и определении проблемных мест, не тратя время на детали.

Классический инструмент нагрузочного тестирования, бесплатный Apache JMeter, в умелых руках позволяет качественно симулировать скачки трафика. Существует много других инструментов по ссылке.

Отличия от других распространенных типов тестирования производительности

Нагрузочное тестирование оценивает поведение системы в «нормальных рабочих» условиях, при разных уровнях нагрузки, которая не достигает уровня «пиковой», или по крайней мере не достигает так быстро.

Стресс-тестирование похоже на спайк-тестирование уровнем нагрузки, однако стрессовое тестирование это анализ происходящего в системе перед тем как она «поломается». При стресс-тестировании приложение получает постоянно растущую нагрузку, а не пиковую/скачкообразную.

Преимущества и недостатки

Преимущества:

  • Определение последствий резких скачков нагрузки в программной и аппаратной части
  • Будет известно, как приложение поведет себя во время скачка, и как будет восстанавливаться
  • Руководители проекта будут примерно знать пределы выносливости системы в дни распродаж, активной регистрации новых клиентов и т.п.
  • И команда подготовит предложения 

Недостатки:

  • Необходимость создать отдельное тестовое окружение, из-за специфичности такого тестирования
  • Требуется довольно много ресурсов и времени

Этапы

  1. Создание и настройка тестового окружения

Окружение зависит от проекта, но основное условие то, чтобы тестовое окружение было изолировано.

  1. Определить максимальную нагрузку

Которая и будет считаться пиковой.

  1. Подать на систему пиковую нагрузку

Стандартная рабочая нагрузка резко повышается до уровня пиковой, и система фиксируется в этом состоянии.

  1. Анализ производительности

Собираются нужные данные по производительности (метрики). Когда, и если система откажет при ожидаемой пиковой нагрузке, изучается состояние программной и аппаратной части.

  1. Снижение нагрузки до обычной

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

  1. Оценка производительности после пика

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

Цикл повторяется несколько раз.

  1. Анализ, репорты, графики

На последнем этапе тестировщики анализируют метрики, рисуют графики и составляют репорты, и готовят выводы, на основе которых руководство принимает решения по архитектуре, и разработчики совершенствуют приложение.

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас