Учебники

Нагрузочное тестирование

Стресс-тестирование проводится, чтобы убедиться, что система не будет аварийно завершать работу в критических ситуациях. Он даже тестирует за пределами нормальной рабочей точки и оценивает, как система работает в таких экстремальных условиях.

стресс-тестирование изображения

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

Тестируемое приложение будет загружено, когда данные 5 ГБ будут скопированы с веб-сайта и вставлены в блокнот. Блокнот находится в состоянии стресса и выдает сообщение об ошибке «Не ответили».

Что такое СТРЕСС-тестирование в тестировании программного обеспечения: инструменты, потребности и типы

В этом уроке вы узнаете

Потребность в стресс-тестировании

Рассмотрим следующие сценарии — 

  • Во время фестиваля сайт покупок в Интернете может стать свидетелем резкого увеличения трафика или объявления о продаже.
  • Когда блог упоминается в ведущей газете, он испытывает внезапный всплеск трафика.

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

Стресс-тестирование также чрезвычайно полезно по следующим причинам:

  • Проверить, работает ли система в ненормальных условиях.
  • Отображение соответствующего сообщения об ошибке, когда система находится в состоянии стресса.
  • Отказ системы в экстремальных условиях может привести к огромной потере дохода
  • Лучше быть готовым к экстремальным условиям, выполнив стресс-тестирование.

Цели стресс-тестирования

Целью стресс-тестирования является анализ поведения системы после сбоя. Чтобы стресс-тестирование было успешным, система должна отображать соответствующее сообщение об ошибке, пока оно находится в экстремальных условиях.

Для проведения стресс-тестирования иногда могут использоваться массивные наборы данных, которые могут быть потеряны во время стресс-тестирования. Тестеры не должны терять эти данные, связанные с безопасностью, во время стресс-тестирования.

Основная цель стресс-тестирования — убедиться, что система восстанавливается после сбоя, который называется восстановимостью .

Нагрузочное тестирование и стресс-тестирование

 

Нагрузочное тестирование и стресс-тестирование изображения

 

 

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

Типы стресс-тестирования:

Ниже приведены виды стресс-тестирования, которые объясняются следующим образом:

Распределенное стресс-тестирование:

Типы стресс-тестов изображения

В распределенных клиент-серверных системах тестирование выполняется на всех клиентах с сервера. Роль стресс-сервера заключается в распространении набора стресс-тестов среди всех стресс-клиентов и отслеживании статуса клиента. После того, как клиент связывается с сервером, сервер добавляет имя клиента и начинает отправку данных для тестирования.

Между тем клиентские машины посылают сигнал или пульс, что он связан с сервером. Если сервер не получает никаких сигналов от клиентского компьютера, его необходимо дополнительно изучить для отладки. Из рисунка сервер может соединиться с 2 клиентами (Client1 и Client2), но он не может отправлять или получать сигнал от клиентов 3 и 4.

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

Стресс-тестирование приложения:

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

Транзакционное стресс-тестирование:

Проводится стресс-тестирование одной или нескольких транзакций между двумя или более приложениями. Он используется для тонкой настройки и оптимизации системы.

Системное стресс-тестирование:

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

Поисковое стресс-тестирование:

Это один из видов стресс-тестирования, который используется для тестирования системы с необычными параметрами или условиями, которые вряд ли произойдут в реальном сценарии. Он используется для поиска дефектов в неожиданных сценариях, таких как

  1. Большое количество пользователей вошли в систему одновременно
  2. Если антивирусный сканер запущен на всех машинах одновременно
  3. Если база данных отключилась, когда к ней обращались с веб-сайта,
  4. Когда большой объем данных вставляется в базу данных одновременно

Как сделать стресс-тестирование?

Процесс стресс-тестирования можно выполнить в 5 основных этапов:

  1. Планирование стресс-теста. Здесь вы собираете системные данные, анализируете систему, определяете цели стресс-теста
  2. Создание сценариев автоматизации. На этом этапе вы создаете сценарии автоматизации стресс-тестирования, генерируете тестовые данные для стресс-сценариев.
  3. Выполнение скрипта: На этом этапе вы запускаете скрипты автоматизации стресс-тестирования и сохраняете результаты стресса.
  4. Анализ результатов: на этом этапе вы анализируете результаты стресс-теста и выявляете узкие места.
  5. Настройка и оптимизация. На этом этапе вы настраиваете систему, изменяете конфигурации, оптимизируете код с целью достижения желаемого ориентира.

Наконец, вы снова запускаете весь цикл, чтобы определить, что настройки дали желаемые результаты. Например, нет ничего необычного в том, что для достижения целей производительности требуется от 3 до 4 циклов стресс-тестирования.

Инструменты, рекомендуемые для стресс-тестирования:

LoadRunner

LoadRunner от HP — широко используемый инструмент нагрузочного тестирования. Результаты нагрузочных испытаний, сформированные Loadrunner, считаются эталонными.

Jmeter

Jmeter — инструмент тестирования с открытым исходным кодом. Это чистое Java- приложение для стресс- тестирования и тестирования производительности . Jmeter предназначен для охвата типов тестов, таких как нагрузка, функциональность, стресс и т. Д. Для работы требуется JDK 5 или выше.

Стресс-тестер

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

Нео груз

Это популярный на рынке инструмент для тестирования веб- приложений и мобильных приложений. Этот инструмент может моделировать тысячи пользователей, чтобы оценить производительность приложения под нагрузкой и проанализировать время отклика. Он также поддерживает Cloud-Integrated — производительность, нагрузочное и стресс-тестирование. Он прост в использовании, экономичен и обеспечивает хорошую масштабируемость.

Метрики для стресс-тестирования

Метрики помогают оценить производительность Системы и, как правило, изучаются в конце Стресс-теста. Обычно используемые метрики —

Измерение масштабируемости и производительности

  • Страниц в секунду: измеряет количество запрошенных страниц / секунду
  • Пропускная способность: основной показатель — размер данных ответа / сек
  • Раунды: количество запланированных тестовых сценариев по сравнению с количеством выполненных клиентом

Ответ приложения

  • Время обращения: среднее время получения изображения или страницы.
  • Время до первого байта: время, необходимое для возврата первого байта данных или информации
  • Время страницы: время, необходимое для получения всей информации на странице

Отказы

  • Failed Connections: Количество неудачных соединений, отклоненных клиентом (слабый сигнал)
  • Failed Rounds: количество раундов, которые он провалил
  • Failed Hits: количество неудачных попыток, предпринятых системой (неработающие ссылки или невидимые изображения)

Вывод

Целью стресс-тестирования является проверка системы в экстремальных условиях. Он контролирует системные ресурсы, такие как память, процессор, сеть и т. Д., И проверяет способность системы вернуться к нормальному состоянию. Он проверяет, отображает ли система соответствующие сообщения об ошибках в состоянии стресса.