Software quality assurance days 17 Международная конференция по вопросам качества ПО sqadays.com Минск. 29–30 мая 2015 Дмитрий Вербовский Сбербанк - Технологии. Минск, Беларусь Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка.
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Корпоративная системная шина (КСШ) Путь сообщения: Система отправитель Выходная очередь системы отправителя Адаптер шины Транспорт по шине Адаптер системы получателя Входная очередь системы получателя Система получатель
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Пример операции
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Проблематика тестирования шины Необходимо: Создать заглушки для систем использующих шину. Минимизировать время на создание и доработку заглушек. Собирать статистику работы заглушек. Прозрачно управлять запуском и остановкой большого числа заглушек.
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Требования Время на разработку новой заглушки менее 1 дня. Должна быть возможность быстро развернуть заглушки на нескольких стендах (НТ, ИФТ, …). 60-80 заглушек на одном стенде. Тестировщик должен иметь возможность сам создать и подключить новую заглушку без участия программиста. Для запуска не требуется специальных знаний. Запуск и остановка множества заглушек автоматизированы.
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Что такое абстрактная заглушка?
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Что конфигурируем? Параметры входящей очереди Параметры исходящих очередей Путь к хранилищу шаблонов Правила поиска шаблона Параметры, получаемые из входящего сообщения Параметры, подставляемые в исходящее сообщение Длительность задержки перед отправкой ответа Исключения для различных операций Адрес получателя статистики и частота ее отправки Адрес для получения служебных команд
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Принцип конфигурации заглушки
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Принцип обработки входящих сообщений Для получения и сохранения данных из входящего сообщения, существуют так называемые Extractors. Для замены данных в шаблонах используются Replacers. Replacers используют значения, полученные при помощи Extractors.
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Extractors & Replacers <Incoming>      <RqUID> 20130111134615964 </RqUID>      <NS2:operation-name>SrvSendNaturalPerson</NS2:operation-name>      <RqTm>432224342</RqTm>      <Status>           <StatusCode>0</StatusCode>           <StatusDesc>Ok</StatusDesc>      </Status> </Incoming>              <Outgoing>                 <clientSystemName> System</clientSystemName>                 <TransactionName>SrvSendNaturalPerson</TransactionName>                 <externalCorrelationId>465364563456</externalCorrelationId>                 <requesterLanguage>2200</requesterLanguage>                 <requesterLocale>ru</requesterLocale>                 <requesterName> System  38:6901:166:1</requesterName>                 <RqUID> 20130111134615964 </RqUID>                 <transactionCorrelatorId>1</transactionCorrelatorId>                 <ControlExtensionProperty>BaseSvcRq</ControlExtensionProperty>             </Outgoing> Получение - Работа Extractor`ов Подстановка - Работа Replacer`ов
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Порядок работы заглушки
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Система управления заглушками
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Профили заглушек
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Подведем итоги Время разработки системы ~3 месяца. Изменение логики работы заглушки не требует экспертизы в написании кода. Настройки в XML, время обучения нового человека – 1 день. Разные проекты (НТ, СТ, ИФТ) уже пользуются системой, сконфигурировав ее под свои нужды. Запуск, конфигурация, остановка распределенных заглушек может проводится с управляющего хоста. Максимально простой запуск нескольких заглушек возможен и локально. Запуск множества заглушек по заранее сохраненному профилю в 1 клик.
Универсальная система заглушек для эмуляции банковских систем. Нагрузочное тестирование шины передачи данных Сбербанка. Вопросы ?