Тестирование пиков нагрузки

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

Тестирование программного обеспечения имеет два аспекта – функциональное тестирование и нефункциональное тестирование. К нефункциональному тестированию относится тестирование производительности.

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

ПОДПИШИТЕСЬ НА НАШ ТЕЛЕГРАМ КАНАЛ Автоматизация тестирования

Содержание:

Что такое тестирование производительности

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

Основное внимание при проведении тестирования производительности уделяется скорости, масштабируемости и стабильности (Speed, Scalability, and Stability). Эти “3S” определяют, готово ли программное обеспечение к развертыванию.

Виды тестирования производительности

  • Нагрузочное тестирование
  • Стресс-тестирование
  • Тестирование выносливости
  • Тестирование пиков нагрузки
  • Объемное тестирование
  • Тестирование масштабируемости
  • Тестирование критических точек

В этой статье мы подробно рассмотрим спайк-тестирование.

Что такое спайк-тестирование?

Спайк-тестирование – это тип тестирования производительности, при котором мы наблюдаем за поведением системы, подвергая ее внезапному увеличению или уменьшению нагрузки. Это внезапное увеличение и уменьшение нагрузки называют всплеском нагрузки, “скачком”, “пиком”, или, как формулируют в англоязычной терминологии, “шипом”.

Это часть тестирования производительности и, следовательно, нефункционального тестирования.

Цели

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

Модели рабочей нагрузки в спайк-тесте:

  1. Спайк-модель со стабильной рабочей нагрузкой
  2. Модель нагрузки с предсказуемым ростом нагрузки
  3. Модель всплеска случайной нагрузки

Типы нагрузок

  1. Базовая нагрузка – это средняя нагрузка на систему для наблюдения за тем, как она будет работать на ежедневной основе.
  2. Скачкообразная нагрузка – внезапное увеличение нагрузки для наблюдения за реакцией системы. Такие нагрузки даются для того, чтобы проверить, сможет ли система справиться с внезапным увеличением числа пользователей в реальной ситуации.

Этапы спайк-тестирования

  1. Настройка окружения – чтобы добиться качественного тестирования, всегда создавайте окружения, соответствующее реальным условиям.
  2. Определите максимальную нагрузку – чтобы начать процесс тестирования, сначала определите максимальную или экстремальную нагрузку, которую может выдержать ваша система. Это также называется максимальной пользовательской нагрузкой, так как на этом этапе определяется общее количество пользователей, которые могут получить доступ к приложению одновременно.
  3. Увеличение нагрузки – нагрузка увеличивается до своего пика, т.е. создается всплеск. Это увеличение не постепенное, а резкое. Всплеск создается с помощью соответствующего нагрузочного инструмента.
  4. Анализ пиковой производительности – созданный всплеск сохраняется в течение некоторого времени, чтобы отметить изменения в поведении системы при внезапном увеличении нагрузки. Время отклика, устойчивость и производительность анализируются в этот пиковый период.
  5. Уменьшение нагрузки – нагрузка уменьшается до нуля или минимального значения. В этот раз также происходит внезапное, а не постепенное снижение нагрузки. Стабильность приложения проверяется в течение этого времени.
  6. Анализ графика производительности – строятся графики после завершения наблюдения. Учитываются всевозможные факторы.

Используемые инструменты

Для проведения спайк-тестирования необходимо использовать соответствующие инструменты, чтобы добиться точных результатов. Некоторые из часто используемых инструментов:

  1. Apache JMeter – JMeter изначально был разработан для проведения стандартного нагрузочного тестирования, но можно его применять и в более специальных областях. Это инструмент с открытым исходным кодом, поддерживающий язык Java. Это самый востребованный инструмент для тестирования производительности.
  2. LoadRunner – Этот инструмент также является одним из используемых. Достаточно эффективен для эмуляции сотен пользователей и одновременного анализа производительности каждого из них. Единственный недостаток – не является инструментом с открытым исходным кодом и сложнее, чем JMeter.

Рассмотрим преимущества и недостатки спайк-тестирования.

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

  1. Помогает определить стабильность приложения в экстремальных условиях.
  2. Предотвращает аварийное завершение работы приложения.
  3. Делает приложение готовым к использованию в реальных условиях.
  4. Рассматриваются наихудшие сценарии, чего обычно не делается в ходе стандартной процедуры тестирования. Это делает систему более устойчивой.

Недостатки

  1. Требуются специалисты по тестированию производительности; не может выполняться обычными тестировщиками.
  2. Сам по себе этот процесс довольно дорогостоящий, поэтому не каждая компания может себе его позволить.
  3. Проведение спайк-тестирования занимает много времени. Это может привести к задержке развертывания продукта.

Заключение

  1. Рекомендуется тщательная настройка окружения.
  2. Предпочтительно проводить такое тестирование на крупных проектах, так как это довольно дорого.
  3. Некоторые из распространенных примеров, когда тестирование пиков необходимо: когда на сайте электронной коммерции начинается сезонная распродажа, когда наступает сезон отпусков и тысячи пользователей посещают сайт туров и путешествий, когда определенный контент на сайте становится вирусным и т. д.
  4. JMeter предпочтительнее Loadrunner, поскольку он бесплатный и имеет более приятный интерфейс, а значит, проще в использовании.

Перевод статьи «Spike Testing».

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

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

Читать в телеграм

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *