Software quality assurance days
17 Международная конференция
по вопросам качества ПО
sqadays.com
Минск. 29–30 мая 2015
Дмитрий
Вербовский
Сбербанк - Технологии. Минск, Беларусь
Универсальная система заглушек для эмуляции банковских систем.
Универсальная система заглушек для эмуляции банковских систем.
О себе
Дмитрий Вербовский
Специализация - высоконагруженные системы.
С 2011 г. занимаюсь тестированием производительности,
от разработки методики до анализа результатов.
Zeinum@gmail.com
Универсальная система заглушек для эмуляции банковских систем.
Примеры запроса к системе и ответа от нее
<Outgoing>
<RequestID>
123456
</RequestID>
<Client>
Ivanov
</Client>
<CreditHistory>
OK
</CreditHistory>
</Outgoing>
<Incoming>
<RequestID>
123456
</RequestID>
<Client>
Ivanov
</Client>
<Operation>
GetCreditHistory
</Operation>
</Incoming>
Создает
ответ:
Система
получает запрос:
Универсальная система заглушек для эмуляции банковских систем.
Корпоративная системная шина (КСШ)
Путь сообщения:
•
Система отправитель
•
Выходная очередь отправителя
•
Адаптер шины
•
Транспорт по шине
•
Адаптер системы получателя
•
Входная очередь получателя
•
Система получатель
Пример операции
Универсальная система заглушек для эмуляции банковских систем.
1
2
3.1
3.2
3.3
4
5
6
Запрос на
получение
кредита
Запрос кредитной
истории клиента
Запрос информации
из внутренних
источников
Запрос информации
от внешних банков
Преобразование во
внутренний формат
Агрегирование из
нескольких источников
Принятие решения
о выдаче кредита
Создание печатных
форм
Проблематика тестирования шины
Необходимо:
•
Создать заглушки для систем использующих шину.
•
Минимизировать время на их создание и доработку.
•
Управлять запуском и остановкой большого числа заглушек.
•
Собирать статистику работы заглушек.
Универсальная система заглушек для эмуляции банковских систем.
Требования к системе заглушек
•
Время на разработку новой заглушки менее 1 дня.
•
Возможность развернуть наборы заглушек на нескольких
стендах из одной точки.
•
Сбор статистики работы в одной точке.
•
Легкие: 60-80 заглушек на одном стенде.
•
Быстрые: обработка >1000 сообщений в секунду.
•
Тестировщик может сам создать и подключить новую
заглушку без участия программиста.
•
Для запуска не требуется специальных знаний.
Универсальная система заглушек для эмуляции банковских систем.
Что такое типовая заглушка?
Универсальная система заглушек для эмуляции банковских систем.
Что конфигурируем?
•
Параметры входящх\исходящих очередей
•
Путь к хранилищу шаблонов
•
Правила поиска шаблона
•
Параметры, получаемые из входящего сообщения
•
Параметры, подставляемые в исходящее сообщение
•
Длительность задержки перед отправкой ответа
•
Адрес получателя статистики и частота ее отправки
•
Адрес для получения служебных команд
Универсальная система заглушек для эмуляции банковских систем.
Принцип конфигурации заглушки
Универсальная система заглушек для эмуляции банковских систем.
Принцип обработки входящих сообщений
•
Для получения и сохранения данных из входящего
сообщения, существуют так называемые
Extractors
разных типов.
•
Для замены данных в шаблонах используются
Replacers
. Replacers используют значения,
полученные при помощи Extractors.
Универсальная система заглушек для эмуляции банковских систем.
Extractors & Replacers
<Incoming>
<
RqUID
>
20130111134615964
<
/RqUID
>
<StatusCode>0</StatusCode>
<StatusDesc>Ok</StatusDesc>
</Incoming>
<Outgoing>
<
MsgID
>
20130111134615964
</
MsgID
>
<transactionId>1</transactionId>
</Outgoing>
<Replacer>
<Type>ByTagName</Type>
<TagName>
MsgID
</TagName>
<ExName>
Ex_RqUID
</ExName>
</Replacer>
<Extractor>
<Type>ByTagName</Type>
<TagName>
RqUID
</TagName>
<ExName>
Ex_RqUID
</ExName>
</Extractor>
Универсальная система заглушек для эмуляции банковских систем.
Профили заглушек
Универсальная система заглушек для эмуляции банковских систем.
Система управления заглушками
Универсальная система заглушек для эмуляции банковских систем.
Подведем итоги
•
Время разработки системы ~3 месяца.
•
Изменение логики работы заглушки не требует
экспертизы в написании кода.
•
Настройки в XML, время обучения нового человека – 1
день.
•
Разные проекты (НТ, СТ, ИФТ) уже пользуются системой,
сконфигурировав ее под свои нужды.
•
Запуск, конфигурация, остановка распределенных
заглушек
может проводится с управляющего хоста в 1
клик.
Универсальная система заглушек для эмуляции банковских систем.
Вопросы
?
Универсальная система заглушек для эмуляции банковских систем.
Универсальная система заглушек для эмуляции банковских систем