- •Нефункциональное тестирование веб-сервисов
- •Тестирование производительности
- •Планирование тестирования производительности веб-сервиса.
- •Использование SoapUi для тестирования производительности
- •Интервалы выполнения нагрузочного теста
- •Стратегии нагрузочного тестирования в SoapUi
- •Простая стратегия нагрузки
- •Пример.
- •«Взрывная» стратегия нагрузки
- •Потоковая стратегия
- •Вариативная стратегия
- •Отчет и статистика нагрузочного тестирования в SoapUi
- •Графики
- •Использование операторов контроля (assertion) в нагрузочных тестах soapUi
- •Оператор контроля Max Errors
- •Оператор контроля Step Average
- •Оператор контроля Step tps
- •Оператор контроля Step Maximum
- •Оператор контроля Step Status
- •Дополнительные опции нагрузочного тестирования
«Взрывная» стратегия нагрузки
Взрывная стратегия нагрузки может быть использована для создания быстроой нагрузки на тестируемую веб-службу. В этом режиме, TestCases выполняются одновременно без заранее определенной задержки между каждым из них.
Если выбрать стратегию нагрузки Burst, соответствующие параметры для этой стратегии отображаются справа, как показано на скриншоте. Burst Delay - это задержка между очередями. В нашем примере, Burst Delay установлена на 60 секунд, что означает, что будет 1 минута задержки между каждой пачкой импульсов. Burst Duration задает количество секунд работы во "взрывном" режиме. Мы определили 10 секунд для Burst Duration. При выбранных параметрах SoapUI переходит в спящий режим во время второй задержки на 60 секунд и не посылает никаких запросов тестируемой веб-службе. После 60 секунд, заданное количество потоков начнет работать и генерировать трафик в течении 10 секунд .
Давайте запустим тест и будем наблюдать результаты. Убедимся, что вы установили режим burst mode и выбрали следующие параметры нагрузочного тестирования. Важно установить достаточное количество потоков для burst mode, чтобы создать относительно большой трафик в течение короткого периода:
Threads= 100
Strategy= Burst
Burst Delay= 60 seconds
Burst Duration= 10 seconds
Limit= 300 seconds
После запуска можно заметить, что в течении 60 секунд не будет никаких обновлений трафика, а через 60 секунд, будет внезапное увеличение кол сообщений, которое будет длиться в течение 10 секунд. Далее, снова будет 60 «спокойных» секунд Burst Delay. И так в течение 5 минут.
Потоковая стратегия
Стратегия нагрузки Thread это еще один полезный подход для моделирования нагрузки. В этой стратегии, количество потоков будет постепенно увеличиваться от меньшего значения к большему. Если задача, следить за поведением веб-служб с увеличением количества потоков, то эта стратегия как раз подходит.
Зададим следующие параметры для применения данной стратегии
Threads= 10
Strategy= Thread
Start Threads= 1
End Threads= 10
Limit= 60 секунд
Так как предельное значение установлено на 60 секунд, а значения начальных и конечных потоков от 1 до 10 соответственно, мы можем предположить, что каждый поток работает в течение не менее 6 секунд. Запустим тест и проконтроллируем его поведение. Значения потоков будут увеличивается от 1 до 10 с интервалом в почти 6 секунд.
Вариативная стратегия
Как следует из названия, в этой стратегии, в течении времени количество потоков меняется с заданным интервалом в соответствии с заданным значением вариабельности, обеспечивая более реалистичную нагрузку на тестируемый веб-сервис (такое поведение наиболее приближенно к реальности).
Зададим следующие значения и выполним тест:
Threads= 10
Strategy= Variance
Interval= 60
Variance= 0.5
Limit= 60 секунд
Как только начинается тест, количество потоков увеличивается с 10 до 15, в течение 12 секунд. Далее, количество потоков будет уменьшено до 5. В конце тест будет завершен с изначальным количеством потоков 10. Количество изменяется в диапазоне 10±5 , так как мы устанавливаем значение Variance = 0.5.
Обратите внимание, что, хотя в примере, мы изменяли один и тот же тест с различными стратегиями ради демонстрации, вы можете иметь четыре различных нагрузочных тестов, каждый из которых отличается стратегией нагрузки. Затем вы можете запустить все эти нагрузочные тесты в любом порядке.
