Upload
sqalab
View
104
Download
6
Embed Size (px)
Citation preview
Software quality assurance days17 Международная конференция по вопросам качества ПО
sqadays.com
Минск. 29–30 мая 2015
Дмитрий ВербовскийСбербанк - Технологии. Минск, Беларусь.
Универсальная система заглушек для эмуляции банковских систем.
Универсальная система заглушек для эмуляции банковских систем.
О себе
Дмитрий Вербовский
Специализация - высоконагруженные системы. С 2011 г. занимаюсь тестированием производительности,от разработки методики до анализа результатов.
Универсальная система заглушек для эмуляции банковских систем.
Примеры запроса к системе и ответа от нее
<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>
Универсальная система заглушек для эмуляции банковских систем.
Профили заглушек
Универсальная система заглушек для эмуляции банковских систем.
Система управления заглушками
Универсальная система заглушек для эмуляции банковских систем.
Подведем итоги
• Разные проекты (НТ, СТ, ИФТ) уже пользуются системой, сконфигурировав ее под свои нужды.
• Настройки в XML, время обучения нового человека – 1 день.
• Изменение логики работы заглушки не требует экспертизы в написании кода.
• Запуск, конфигурация, остановка распределенных заглушек может проводится с управляющего хоста в 1 клик.
• Время разработки системы ~3 месяца.
Универсальная система заглушек для эмуляции банковских систем.
Вопросы
?Универсальная система заглушек для эмуляции банковских систем.