atesting.ru Блог Учебное пособие по нагрузочному тестированию | Материалы для тестирования программного обеспечения

Учебное пособие по нагрузочному тестированию | Материалы для тестирования программного обеспечения

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

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

 Учебное пособие по нагрузочному тестированию | Материалы для тестирования программного обеспечения

< p> В этом Руководстве по нагрузочному тестированию мы рассмотрим следующее

Что такое нагрузочное тестирование?

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

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

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

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

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

Мы знаем, что многие пользователи покидают приложение, когда время ответа превышает 2 секунды. Таким образом, группа бизнес-анализа должна сначала проанализировать время отклика приложения. Если время отклика превышает 2 секунды, инженерная группа должна оптимизировать производительность, а операционная группа должна подготовить необходимые ресурсы. Если системных ресурсов недостаточно, приложение прерывается.

Примеры нагрузочного тестирования:

Вот несколько основных примеров нагрузочного тестирования:

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

Почему так важно нагрузочное тестирование?

Нагрузочное тестирование важно, потому что оно отвечает некоторым ключевым параметрам производительности вопросы и вселяет уверенность в систему.

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

Важность нагрузочного тестирования — примеры

Возьмем, к примеру, один из самых больших дней продаж Amazon (Prime Day) в июле 2018 года. Не удалось обеспечить достаточное количество серверов для обработки всплеска трафика в Prime Day, который произошел в течение 15 минут после начала Prime Day. Один час простоя Amazon в Prime Day мог стоить от 72 до 99 миллионов долларов упущенных продаж

Нью-Йоркская фондовая биржа внезапно закрылась и не возобновляла торгов в течение более 3 часов в 2018 году. Было заявлено, что отключение было вызвано технической «проблемой конфигурации».

United Airlines ' Полеты в США были приостановлены более чем на час из-за «проблем с автоматизацией». Авиакомпания выступила с заявлением, в котором говорилось, что из-за проблем с подключением к сети полеты не выполняются. Это приводит к потере дохода и доли рынка.

Как проводить нагрузочное тестирование

Процесс нагрузочного тестирования включает следующие шаги.

  • Настройка тестовой среды — первым шагом является создание специальной тестовой среды для нагрузочного тестирования. Тестовая среда должна быть такой же, как и производственная среда.
  • Определить критерии производительности — на этом этапе мы должны определить такие критерии, как допустимые ограничения на время отклика, пропускную способность и использование ЦП.
  • Определение нагрузочных тестов — на этом этапе мы определяем нагрузочные тесты, такие как подготовка тестовых данных для каждой транзакции, прогнозирование количества пользователей, обращающихся к системе, определение скорости соединения, различных браузеров и операционных систем, настройка серверов./li>
  • Настройка виртуальных пользователей — создание задач, выполняемых виртуальными пользователями.
  • Создание, выполнение и & amp; мониторинг сценариев тестирования
  • Анализ результатов тестирования & amp; давать рекомендации — анализировать узкие места производительности на основе отчетов и давать рекомендации по их устранению.
  • Точная настройка системы и повторное тестирование сценариев, чтобы преодолеть все узкие места.

Преимущества и недостатки нагрузочного тестирования:

Преимущества нагрузочного тестирования:

  • Выявление узких мест в производительности перед выводом приложения на рынок.
  • Повышение масштабируемости системы с точки зрения ресурсов, таких как программное обеспечение, база данных, сети и т. д.
  • Минимизирует риск простоя системы.
  • Улучшено удовлетворенность конечных пользователей.
  • Снижение стоимости отказа.

Недостатки нагрузочного тестирования:

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

Разница между нагрузочным тестированием и тестированием под нагрузкой; Стресс-тестирование (нагрузочное тестирование или стресс-тестирование)

ТЕСТИРОВАНИЕ НАГРУЗКИ НАПРЯЖЕНИЕ
Это подмножество тестирования производительности Это подмножество тестирования производительности
Цель нагрузочного тестирования — определить верхний предел системы, установить SLA приложения и проверить, как система справляется с большой нагрузкой Цель стресс-тестирования — выяснить, как система ведет себя при экстремальных нагрузках и как она восстанавливается после сбоя
Предел нагрузки — это порог перерыва Предел нагрузки выше порога перерыва
Атрибуты, которые проверяются при нагрузочном тестировании: пиковая производительность, пропускная способность сервера, время отклика при различных уровнях нагрузки, требования к балансировке нагрузки и т. д. Атрибуты, которые проверяются в стресс-тестировании, — это время отклика стабильности, пропускная способность и т. Д.

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

Вот некоторые из инструментов: LoadRunner, Apache JMeter, WebLOAD, LoadView и Loadrunner.

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

Просмотрите полный список популярных инструментов нагрузочного тестирования.

Заключение:

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

TAG: qa