Универсальная система заглушек для эмуляции...

16
Software quality assurance days 17 Международная конференция по вопросам качества ПО sqadays.com Минск. 29–30 мая 2015 Дмитрий Вербовский Сбербанк - Технологии. Минск, Беларусь. Универсальная система заглушек для эмуляции банковских систем.

Upload: sqalab

Post on 26-Jul-2015

116 views

Category:

Education


6 download

TRANSCRIPT

Page 1: Универсальная система заглушек для эмуляции банковских систем

Software quality assurance days17 Международная конференция по вопросам качества ПО

sqadays.com

Минск. 29–30 мая 2015

Дмитрий ВербовскийСбербанк - Технологии. Минск, Беларусь.

Универсальная система заглушек для эмуляции банковских систем.

Page 2: Универсальная система заглушек для эмуляции банковских систем

Универсальная система заглушек для эмуляции банковских систем.

О себе

Дмитрий Вербовский

Специализация - высоконагруженные системы. С 2011 г. занимаюсь тестированием производительности,от разработки методики до анализа результатов.

[email protected]

Page 3: Универсальная система заглушек для эмуляции банковских систем

Универсальная система заглушек для эмуляции банковских систем.

Примеры запроса к системе и ответа от нее

<Outgoing><RequestID>123456</

RequestID><Client>Ivanov</Client><CreditHistory>OK</

CreditHistory></Outgoing>

<Incoming><RequestID>123456</RequestID><Client>Ivanov</Client><Operation>GetCreditHistory</

Operation></Incoming>

Создает ответ:

Система получает запрос:

Page 4: Универсальная система заглушек для эмуляции банковских систем

Универсальная система заглушек для эмуляции банковских систем.

Корпоративная системная шина (КСШ)

Путь сообщения:•Система отправитель•Выходная очередь отправителя•Адаптер шины•Транспорт по шине•Адаптер системы получателя•Входная очередь получателя•Система получатель

Page 5: Универсальная система заглушек для эмуляции банковских систем

Пример операции

Универсальная система заглушек для эмуляции банковских систем.

1

2 3.1

3.2 3.3

4 5

6

Запрос наполучениекредита

Запрос кредитнойистории клиента

Запрос информациииз внутреннихисточников

Запрос информацииот внешних банков

Преобразование вовнутренний формат

Агрегирование изнескольких источников

Принятие решенияо выдаче кредита

Создание печатныхформ

Page 6: Универсальная система заглушек для эмуляции банковских систем

Проблематика тестирования шины

Необходимо:•Создать заглушки для систем использующих шину.

•Минимизировать время на их создание и доработку.

•Управлять запуском и остановкой большого числа

заглушек.

•Собирать статистику работы заглушек.

Универсальная система заглушек для эмуляции банковских систем.

Page 7: Универсальная система заглушек для эмуляции банковских систем

Требования к системе заглушек

• Время на разработку новой заглушки менее 1

дня.

• Возможность развернуть наборы заглушек на

нескольких стендах из одной точки.

• Сбор статистики работы в одной точке.

• Легкие: 60-80 заглушек на одном стенде.

• Быстрые: обработка >1000 сообщений в секунду.

• Тестировщик может сам создать и подключить

новую заглушку без участия программиста.

• Для запуска не требуется специальных знаний.

Универсальная система заглушек для эмуляции банковских систем.

Page 8: Универсальная система заглушек для эмуляции банковских систем

Что такое типовая заглушка?

Универсальная система заглушек для эмуляции банковских систем.

Page 9: Универсальная система заглушек для эмуляции банковских систем

Что конфигурируем?

• Параметры входящх\исходящих очередей

• Путь к хранилищу шаблонов

• Правила поиска шаблона

• Параметры, получаемые из входящего сообщения

• Параметры, подставляемые в исходящее

сообщение

• Длительность задержки перед отправкой ответа

• Адрес получателя статистики и частота ее

отправки

• Адрес для получения служебных команд

Универсальная система заглушек для эмуляции банковских систем.

Page 10: Универсальная система заглушек для эмуляции банковских систем

Принцип конфигурации заглушки

Универсальная система заглушек для эмуляции банковских систем.

Page 11: Универсальная система заглушек для эмуляции банковских систем

Принцип обработки входящих сообщений

• Для получения и сохранения данных из входящего сообщения, существуют так называемые Extractors разных типов.

• Для замены данных в шаблонах используются Replacers. Replacers используют значения, полученные при помощи Extractors.

Универсальная система заглушек для эмуляции банковских систем.

Page 12: Универсальная система заглушек для эмуляции банковских систем

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>

Универсальная система заглушек для эмуляции банковских систем.

Page 13: Универсальная система заглушек для эмуляции банковских систем

Профили заглушек

Универсальная система заглушек для эмуляции банковских систем.

Page 14: Универсальная система заглушек для эмуляции банковских систем

Система управления заглушками

Универсальная система заглушек для эмуляции банковских систем.

Page 15: Универсальная система заглушек для эмуляции банковских систем

Подведем итоги

• Разные проекты (НТ, СТ, ИФТ) уже пользуются системой, сконфигурировав ее под свои нужды.

• Настройки в XML, время обучения нового человека – 1 день.

• Изменение логики работы заглушки не требует экспертизы в написании кода.

• Запуск, конфигурация, остановка распределенных заглушек может проводится с управляющего хоста в 1 клик.

• Время разработки системы ~3 месяца.

Универсальная система заглушек для эмуляции банковских систем.

Page 16: Универсальная система заглушек для эмуляции банковских систем

Вопросы

?Универсальная система заглушек для эмуляции банковских систем.