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 клик. Универсальная система заглушек для эмуляции банковских систем.
Вопросы ? Универсальная система заглушек для эмуляции банковских систем.