Russia | Финансы

ВТБ

Автоматизация функционального тестирования в Банке ВТБ

Предпосылки проекта

В связи с необходимостью поддержания проектов по разработке и внедрению специализированного банковского программного обеспечения на высоком уровне, в ВТБ был сформирован отдел контроля качества программного обеспечения. На это решение повлияли следующие факторы:

- проведение тестирования по большей части силами разроботчиков,
- срыв сроков выхода запланированных продуктов,
- отсутствие документирования должного уровня выполняемых тестовых действий,
- отсутствие должного планирования и анализа рисков в проектах,
- необходимость автоматизации и контроля рутинных процессов.

Данные сложности были выявлены в ходе проведения компанией S&T исследования – аудита – состояния дел Банка в области ИТ-тестирования. Аудит организовывался с целью получения информации по вопросам ведения проектов, выяснения актуального положения дел в построении процессов разработки и тестирования, понимания требований Банка к организации процесса тестирования. Также были выявлены задачи, решение которых наиболее критично по времени. Результатом аудита стало коммерческое предложение, в котором было отражено видение компании S&T организации процесса тестирования в ВТБ. В окончательном варианте Банк остановился на одной части задачи по постановке процесса тестирования, решить которую предстояло специалистам компании S&T. Эта задача заключалась в организации функционального тестирования и его автоматизации, чтобы продемонстрировать Банку возможности специализированного программного обеспечения (HP Quality Center) в этой области, а также показать преимущества подобного подхода в решении задач ВТБ.

Цель проекта

Целью проекта была обозначена демонстрация подходов в решении задачи по автоматизации тестирования. В частности, необходимо было автоматизировать несколько функциональных сценариев по работе с Системой Расчетов Банка, а также ведение проектов по тестированию и управлению выполнением тестов, в том числе и в автоматическом режиме.

Ход проекта

Анализ функциональных сценариев и Системы Расчетов, являющейся частью ИСУБД «Новая Афина», позволил выделить основные признаки системы и типы действий. Изначально предполагалось, что автоматизированные сценарии будут содержать запись последовательного выполнения всех необходимых операций для проверки жизненного цикла документов в рамках ИСУБД. Подобный подход, при наличии десятков функциональных сценариев и большого числа переходов внутри жизненного цикла документов, должен был привести к появлению множества автоматизированных сценариев, содержащих большое количество повторяемых кусков кода, поддерживать который могло быть проблематично. В качестве примера причин, влияющих на эффективность линейного выполнения записанной последовательности действий, можно привести постоянно меняющееся время ожидания обработки документов внутри интеграционной платформы, наличие большого количества объектов, созданных с использованием сторонних мало популярных библиотек наподобие Centura и т.п.

Были предложены следующие решения проблем (в том числе и потенциальных, связанных с дальнейшей поддержкой возрастающего количества сценариев):

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

2. Интерпретатором является некоторый универсальный код, распознающий текстовые команды и производящий необходимые действия с ИСУБД и другими системами.

3. Входные тестовые данные отделены от кода и функциональных сценариев и хранятся в одном месте, что позволяет легко и независимо управлять ими. Таким образом, исключается необходимость многократного обновления одинаковых данных в автоматизированных сценариях.

4. Вместо большого количества похожих функций, для работы с различными типами документов в различных состояниях вводится одна компактная функция, позволяющая в любой момент времени определять объект, ссылающийся на нужное окно документа, находящегося в работе (в рамках ИСУБД или других подобных систем.)

5. Процедура запуска сценариев управляется матрицей с описанием тестов, согласно разработанным функциональным сценариям. Данная матрица находится в отдельном файле и считывается построчно в процессе выполнения тестов.

6. При запуске автоматизированных сценариев происходит автоматическое распознавание места дислокации в файловой системе и, соответственно, обнаружение файлов с входными данными и сценариями выполнения.

7. Добавление интеграции с HP TestDirector (TD), что позволяет также автоматически находить и использовать все зависимые библиотеки в TestDirector, а также, при необходимости, автоматически заносить дефекты.

8. При выполнении тестов ведется независимый файл отчета, куда попадают все выполняемые действия, реакция системы (ИСУБД и т.д.) на эти действия и аналитические выводы в зависимости от условий. При этом каждой записи в файле отчета присваиваются соответствующие копии экрана, окон или интерфейсных элементов. Файл отчета должен помочь быстро определить место ошибки в тесте и ее возможную причину. На основе этой информации также возможно оперативно подготовить описание дефекта и занести его в систему учета дефектов, а при наличии интеграции с TD это можно сделать в автоматическом или полуавтоматическом режиме, что позволит сэкономить время пользователей.

Данный подход был применен в виде исходного кода на языке Visual Basic (VB), исполняемого в среде HP QuickTest Professional (QTP) – средства для автоматизации функционального тестирования. Дополнительно были подготовлены сервисные функции, обеспечивающие работу с файловой системой, Excel-файлами и отчетом, а также были реализованы описания сценариев и файлы с входными тестовыми данными. Исполнение кода может осуществляться следующими способами:

1. Запуском непосредственно из QTP на выделенном оборудовании.
2. Запуском из QTP на рабочих станциях пользователей.
3. Запуском из TD вручную (выполнение будет происходить независимо от пользователей на выделенном оборудовании).
4. Запуском из TD в автоматическом режиме по расписанию (выполнение будет происходить независимо от пользователей на выделенном оборудовании).

TD также рекомендован S&T ВТБ для хранения и запуска автоматизированных сценариев, что обеспечит следующие преимущества в работе команды:
- Сценарии будут храниться в одном месте, также будет использоваться контроль версий – то есть риск потери каких-либо изменений будет сводиться к минимуму, а при необходимости можно вернуться к последней работоспособной версии кода.
- При включении в процесс тестирования ведения требований и релизов можно отслеживать покрытие тестами этих требований и соответствие графику.
- Запуск тестов на выполнение будет происходить в заданное время в автоматическом режиме либо по команде пользователя, при этом рабочие станции пользователей не будут заняты работой приложения и тестируемых систем.
- Возможно устранение большинства дефектов в автоматическом режиме в процессе выполнения автоматизированных сценариев.
- Все участвующие в процессе, будут получать соответствующие уведомления в зависимости от ситуации (например, сотрудники службы поддержки – при нахождении дефекта; сотрудники отдела контроля качества – при исправлении дефекта или нового изменения в системе и т.п.), что позволит гарантировать точность адресата и отслеживать оперативность в работе.

Результаты проекта

Реализация данного подхода компанией S&T средствами специализированного программного обеспечения, разработанного компанией HP, позволила банку ВТБ продемонстрировать возможности по автоматизации процесса тестирования и сделать выбор в его пользу. По результатам этого проекта руководством ВТБ было принято решение о внедрении данного ПО для использования сотрудниками Банка, в частности сотрудниками отдела обеспечения качества программного обеспечения. Разработка новых тестовых скриптов сотрудниками Банка производится с использованием данного подхода, что позволяет иметь единый связный набор скриптов.
Контакты
S&T International

127015, г. Москва, ул. Вятская, д. 35, стр.4

Тел.:
+7 (495) 646 98 08
+7 (495) 646 98 07
+7 (495) 788 17 15

Факс:
+7 (495) 646 98 08
+7 (495) 646 98 07

E-mail