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

— Денис, расскажите о том, как заказчику, в нашем случае, банковской или финансовой организации, выбрать надежного поставщика по тестированию.

— Банковский сектор отличается, в первую очередь, повышенными требованиями к безопасности и защите информации. Поэтому до начала сотрудничества важно тщательно ознакомиться с информацией о компании, включая опыт работы и компетенции персонала.

При заключении договора особое внимание стоит обратить на пункты об ответственности и неразглашении конфиденциальных данных

При заключении договора особое внимание стоит обратить на пункты об ответственности и неразглашении конфиденциальных данных.

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

На оформление необходимых доступов, знакомство и изучение нюансов работы ИТ-системы нужно немало времени. Поэтому наиболее популярная модель сотрудничества с банками и другими финансовыми организациями – выделенная команда, в которой ротация будет минимальной или вовсе отсутствовать.

 В тестировании каких видов ПО чаще всего нуждаются банки?

— Я бы выделил три категории программного обеспечения. И у каждой из них есть своя специфика.

Тестировщик должен четко представлять, как формируются и проводятся платежи, понимать весь бизнес-процесс от начала банковского операционного дня до его завершения

Первая, самая сложная и в то же время интересная – это ядро платежной системы, ИТ- решение для учета платежей, предоставленных услуг и их тарификации, или биллинг. Тестирование таких систем подразумевает работу с огромными объемами данных и требует серьезных технических навыков. Кроме этого, здесь критически важны знания в области бухгалтерского учета, форматов межбанковских сообщений. Тестировщик должен четко представлять, как формируются и проводятся платежи, понимать весь бизнес-процесс от начала банковского операционного дня до его завершения. Плюс, изменения в банковском ПО нередко связаны с корректировками финансового законодательства, и для выполнения работ по обеспечению качества необходимо быть знакомым с правовыми аспектами отрасли.

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

Во вторую категорию входит ПО, предназначенное для обслуживания клиентов, например, системы дистанционного обслуживания. Это менее долгосрочные проекты, которые тем не менее требуют опыта работы по всем аспектам качествами (производительность, функциональность, безопасность). Важным аспектом качества такого ПО является удобство использования.

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

 Какие виды тестирования сегодня востребованы банками?

— На комплексных и наиболее подверженных изменениям проектах, таких как тестирование биллинга, все традиционно начинается с ручного функционального тестирования. Убедившись, что тот или иной элемент работает должным образом, мы проверяем корректность его взаимодействия с другими элементами, то есть подключаем интеграционное тестирование. После устранения критичных дефектов мы уже применяем автоматизацию, постепенно наращивая долю тестов, которые могут выполняться в автоматическом режиме. Это очень тонкая процедура, и крайне важно выстраивать ее в рамках любого продукта избирательно и поступательно.

Собственно, сейчас развитие автоматизации тестирования – самый яркий тренд, причем не только в банковском секторе, но и в остальных отраслях

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

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

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

 Насколько богатым опытом работы в области банков и финансов обладает A1QA? Чем компания может здесь особенно гордиться?

— Счет завершенным проектам в этом секторе идет на десятки. Причем мы сотрудничали с компаниями не только из СНГ, но и со всего мира.

Один из самых ярких и крупных наших проектов – тестирование базы данных кредитных историй физических лиц для целого государства

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

Из других масштабных и нетривиальных проектов можно вспомнить национальную платежную систему еще для одного государства. При колоссальных объемах задач на все работы по приемочным испытаниям нам отвели всего месяц. И мы успешно справились, подключив команду из 20 сотрудников.

 Хотелось бы затронуть вопрос технологии блокчейн. Внедряют ли ее банки? И какие вызовы ставит технология перед инженерами по тестированию?

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

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

Что это значит для нас, компании по обеспечению качества? Блокчейн – это технология, функционирующая по определенным правилам. Чтобы грамотно протестировать блокчейн-решение, инженер по качеству должен эти правила знать.

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

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

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

К слову, у A1QA уже есть опыт тестирования блокчейн-приложений. Уверен, что число таких проектов будет только расти.

 Какие еще финансовые организации, кроме банков, нуждаются в тестировании ПО?

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

В биржевом ПО очень велика доля визуализации информации – процесса, который крайне тяжело поддается автоматизации. Поэтому на таких проектах доминирует ручное функциональное тестирование. Системы терминальной оплаты предполагают взаимодействие с сотнями смежных систем, и здесь центральная роль отводится интеграционному тестированию. В случае с веб-системами мы активно применяем кроссбраузерное и кроссплатформенное тестирование, а также занимаемся тщательным аудитом удобства использования. На этих проектах критично, чтобы потребитель мгновенно понимал, как совершить нужную операцию, и мог с одинаковым комфортом производить оплату с любого устройства.

 Какие конкурентные преимущества A1QA предлагает банковским и финансовым организациям?

— Во-первых, мы способны выполнить любые работы по тестированию, поэтому у клиента нет нужды искать нескольких подрядчиков. Это экономит много времени, которое, как известно, деньги, а также значительно упрощает организационные вопросы.

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

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

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

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

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