Встречайте - R-Style Softlab

advertisement
инструменты и технологии
Встречайте:
RS-ATM!
Сергей Байстрюк
заместитель
технического
директора
Департамента
банковского ПО
RS-Bank
Не так давно компания R-Style
Softlab анонсировала выпуск
универсального инструмента
записи и воспроизведения событий RS-Application Testing
Machine (RS-ATM). Новый
функционал доступен в третьей сборке АБС RS-Bank v. 5.5,
а также в 31‑ой сборке АБС
RS-Bank V.6 и входит в базовые
дистрибутивы обеих систем.
Цель статьи – познакомить
пользователей и администраторов АБС семейства RS-Bank
с этим инструментом, а также
с планами по его развитию.
74
RS-CLUB МАЙ–АВГУСТ 2012
Первое знакомство
с инструментом
Для продуктов, вышедших на рынок
и имеющих солидную клиентскую базу,
наряду с функциональным развитием
ключевым фактором успеха является
технологическое совершенствование.
На этапе эксплуатации автоматизированных банковских систем компания-разработчик и банки, являющиеся
пользователями ее продуктов, выступают как партнеры. И это очень важно,
ведь простота взаимодействия компании и банка, а также скорость ее реакции на запросы заказчика и качество
предоставляемых решений служат залогом успеха отношений. Перед началом
эксплуатации новых версий ПО банки
стараются снизить риски, возникающие
в результате существенных изменений
Встречайте: RS-ATM!
инструменты и технологии
RS-ATM (Application Testing Machine) представляет собой
механизм, c помощью которого в процессе работы
с АБС (RS-Bank v. 5.5 или RS-Bank V.6) записывается
детальный log-файл в формате XML, содержащий все
действия пользователя. Впоследствии этот скрипт можно
воспроизвести в пакетном режиме, чтобы в деталях
эмулировать работу пользователя в АБС
в системе. Обычно с этой целью они
проводят приемочную проверку (тестирование). Поскольку все продукты линеек RS-Bank имеют открытую архитектуру, они легко и гибко кастомизируются
в соответствии с уникальными потребностями каждого банка. Но этого недостаточно: необходимо проверить также
совместимость клиентских доработок
с новыми версиями систем.
Подобная потребность побудила компанию R-Style Softlab открыть
пользователям наших продуктов доступ к внутреннему инструменту, который уже на протяжении нескольких
лет используется нами для тестирования RS-Bank v. 5.5 в рамках процесса
непрерывной интеграции (Continuous
Integration1). Правда, для этого нам пришлось потрудиться и спроектировать
данный инструмент в виде отдельного
модуля, что позволило подключить его
и к RS-Bank V.6, а также учесть ряд дополнительных требований. Так появился
инструмент RS-ATM.
RS-ATM (Application Testing Machine)
представляет собой механизм, c помощью которого в процессе работы с АБС
(RS-Bank v. 5.5 или RS-Bank V.6) записывается детальный log-файл в формате XML,
содержащий все действия пользователя.
Впоследствии этот скрипт можно воспроизвести в пакетном режиме, чтобы
в деталях эмулировать работу пользователя в АБС (рис. 1).
В банках возможности нового инструмента можно использовать:
Рис. 1.
Простейший
XML-скрипт,
записанный RS-ATM.
Вызов панели
с информацией
о программе
для подготовки описания обнаруженной в АБС проблемы, чтобы передать
его в службу поддержки R-Style Softlab;
для создания набора регрессионных скриптов – тестовых сценариев.
Передача XML-скрипта в службу поддержки позволяет банку сократить накладные расходы на детальное описание
действий, воспроизводящих сценарий
появления обнаруженной ошибки.
При проектировании RS-ATM в него
был заложен ряд общих требований, перечислим некоторые из них.
Механизм должен уметь воспроизводить записанные события
(XML-скрипт) в пакетном режиме.
1
Под непрерывной интеграцией следует понимать практику разработки программного обеспечения, которая заключается в регулярной автоматической сборке продукта и его последующем
автоматизированном тестировании для скорейшего выявления и устранения функциональных
и интеграционных проблем. (Примеч. авт.)
МАЙ–АВГУСТ 2012 RS-CLUB
75
инструменты и технологии
Должна предусматриваться возможность записи скрипта при воспроизведении ранее записанного скрипта.
Записанный скрипт должен
при идентичных на момент его записи
условиях (имеется в виду состояние БД)
воспроизводиться без модификации.
Необходимо иметь возможность
на одном дисплее в параллельном режиме проигрывать неограниченное количество скриптов2 .
Идентичность работы механизма
в консольном режиме3 и режиме EasyWin.
Механизм
должен
работать
как в двухуровневой архитектуре, так и в трехуровневой (на сервере
приложений).
Возможность помимо воспроизводимых при проигрывании действий
(событий) регистрировать также и диагностические события.
Как работает
RS-ATM?
Механизм RS-ATM (запись и / и ли воспроизведение скрипта) активируется
путем ввода опций в командной строке запуска процесса startbnk.exe. С этой
целью здесь появились два новых
параметра:
/ rec:<путь к записываемому файлу>;
/ play:<путь к проигрываемому
файлу>.
Эти параметры (воспроизводимый
и записываемый файлы скрипта) можно задать как по отдельности, так и одновременно. В последнем случае запись
2
Разумеется, «неограниченное количество»
ограничено характеристиками операционной системы и возможностями аппаратной платформы.
(Примеч. авт.)
3
На практике данное требование применимо только к системе RS-Bank v. 5.5, поскольку
RS-Bank V.6 в консольном режиме не используется.
(Примеч. авт.)
76
RS-CLUB МАЙ–АВГУСТ 2012
…
…
…
…
<ProcWindow resname="BSACNT1" lbrname="BANK.LBR">
<Header>
"Список открытых лицевых счетов"
</Header>
<ProcWindow resname="EDACNT1" lbrname="BANK.LBR">
<Header>
"Ввод лицевого счета"
</Header>
<ProcField Number="5">
<Text>
"Недопустимое значение"
</Text>
<KeyEvent key="ENTER">
</KeyEvent>
</ProcField>
<MsgWindow result="27">
</MsgWindow>
</ProcWindow>
<ProcField Number="1">
<KeyEvent key="ESC">
</KeyEvent>
</ProcField>
</ProcWindow>
Рис. 2.
Пример
иерархического
контекста событий
будет осуществляться по результатам
проигрывания. Сравнение исходного
и результирующего скриптов позволяет
отследить разницу в поведении различных версий АБС, а также диагностировать изменения, связанные с кастомизацией системы.
При записи скрипта регистрируются следующие действия пользователя:
выбор пунктов меню;
навигация по полям;
ввод текстовой информации;
нажатие «горячих» и функциональных клавиш.
Также фиксируются сведения о текущем контексте действий по иерархическому принципу. Например, в случае
последовательного вызова нескольких панелей будет создано столько же
Встречайте: RS-ATM!
инструменты и технологии
вложенных тэгов. Появление информационного сообщения также добавляет
новый уровень вложенности (рис. 2).
Безопасность
Механизм не регистрирует и не воспроизводит действия пользователя, связанные с его авторизацией в системе.
Чтобы ввести имя пользователя и пароль,
необходимо либо воспользоваться параметрами командной строки, либо перед
проигрыванием или записью скрипта
указать авторизационные данные в интерактивном режиме.
Производительность
Если сравнить производительность механизма RS-ATM с аналогичным внешним инструментом (например,
с TestComplete), то при воспроизведении
сценариев, в которых подавляющая часть
операций относится к интерактивной
работе пользователя, выигрыш достигает десятков раз. Подобная эффективность складывается из двух факторов:
во‑первых, воспроизведение осуществляется непосредственно на сервере
приложений, во‑вторых, нет необходимости в дополнительной синхронизации работы объектов пользовательского интерфейса и инструмента.
Планы на будущее
У команды разработчиков богатые планы по дальнейшему совершенствованию
нового
механизма
RS-ATM. Уже в обозримом будущем его
функциональность будет существенно расширена. В частности, в нем будут
реализованы:
механизм настроечных профилей, позволяющий гибко регулировать
наборы событий, подлежащих регистрации RS-ATM;
работа с RSL будет включать:
– регистрацию событий вызова
макросов,
– добавление в скрипт непосредственных вызовов макросов,
– передачу параметров при вызове макросов;
проверку условий и циклы;
мониторинг работы с БД;
мониторинг событий прикладного уровня (например, создание или удаление объекта типа «Счет»).
Также планируется разработка специальной интерактивной среды, с помощью которой можно будет создавать,
классифицировать и хранить различные версии тестов и эталонных данных, организовывать регулярные запуски наборов тестов и анализировать
их результаты.
МАЙ–АВГУСТ 2012 RS-CLUB
77
Download