Перфоманс Лаб

case study
нагрузочное тестирование
24 апреля, 2019

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

Время чтения: 10 мин.
24 апреля, 2019
Автор:
Александр Макаров

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

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

Задача проекта

Это случилось во время трансформации, ожидался повышенный спрос на продукты Банка, который должен был повлечь за собой рост количества операций, выполняемых пользователями и рост нагрузки на систему. В связи с этим появилась необходимость определения работоспособности системы Siebel в высокий сезон с помощью проведения нагрузочного тестирования.

Предмет тестирования

Объектом тестирования является система кредитного конвейера, созданная на базе Siebel CRM. Система предоставляет функционал по работе с карточными и кредитными продуктами, позволяя проводить весь комплекс операций по обслуживанию кредитов. В системе также представлен модуль контактного центра.

siebel

Как протестировать siebel

Старт работ по проекту

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

Моделирование поведения пользователей системы Sebel

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

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

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

В процессе создания модели нагрузочного тестирования для Oracle Siebel возникает большое количество сложностей, которые значительно увеличивают стоимость тестирования.
Когда вы внедряете живую систему в нее постоянно летит масса доработок, исправлений блокеров, верстки, патчей, хотфиксов. И всё бы ничего, но с Siebel есть один нюанс, трафик крайне чувствителен к изменению интерфейса, это означает, кроме того, что скрипты крайне сложно писать из-за огромного количества корреляций и айдишников элементов, они практически мгновенно теряют актуальность и становятся невалидны.
На любое действие в системе создается большое количество трафика (больше 90 запросов на открытие произвольной страницы)

Siebel

Трафик Siebel

Существующие системы (JMeter, Loadrunner) не могут определить какие параметры необходимо передавать между запросами. По этой причине весь объем трафика необходимо обрабатывать вручную.
Для решения этой проблемы в Перфоманс Лаб был создан плагин FiddlerToJMeter, который позволяет автоматизировать рутинные операции по записи и параметризации трафика системы Siebel.

Siebel Jmeter

JMeter Siebel plugin

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

Siebel

Работа с параметризацией трафика Siebel

Разработка эмуляторов внешних систем

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

Тестирование Siebel CRM

Тестирование Siebel CRM

Результаты проекта

В результате проекта:
* было переведено более 25 итераций нагрузочного тестирования.
* Найдено 5 проблем влияющих на производительность.
* Проведен системный анализ БД и оптимизации позволившие увеличить производительность в 2,5 раза
* Определены показатели производительности для масштабирования бизнеса до 10000 операторов работающих одновременно.

Заказчик остался доволен, а мы получили хороший опыт тестирования систем на основе Siebel CRM и инструмент для быстрой корреляции сложного трафика в скриптах JMeter.

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

Чтобы узнать подробнее о наших услугах