Банковское обозрение

Финансовая сфера


  • Бизнес онлайн: как обеспечить качество ПО
03.04.2020 Аналитика
Бизнес онлайн: как обеспечить качество ПО

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


Вадим Ференец
Обозреватель
Банковское обозрение

Финансовый сектор России как неотъемлемая часть мирового финансового рынка сейчас находится на стадии глобальной трансформации как самого банкинга, так и банковского надзора. Главная причина тому — переход в цифровую реальность, ускоренный пандемией короновируса.

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

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

Сегодня задача по ускорению разработки ПО и сокращению времени вывода на рынок программных продуктов (time to market) становится критически важной. Но еще важнее — при ускорении предотвратить потерю в качестве.

Для этого в большинстве случаев разработка ведется в рамках гибкой методологии (Agile), применение которой необходимо для обеспечения нужной в данных условиях гибкости. Также активно используются DevOps-практики, которые помогают быстрее создавать и обновлять программные продукты.

При этом основным каналом взаимодействия с клиентами становится ДБО с жесткими требованиями по непрерывности и безопасности доставки сервисов конечному пользователю.

«Мы видим, как сложившаяся нестабильная ситуация оказывает существенное влияние на бизнес наших заказчиков. Чтобы своевременно отреагировать на быстро меняющиеся условия, компании в банковском секторе увеличивают долю сервисов, оказываемых в режиме онлайн. Вовремя проводимое тестирование программных решений помогает бизнесу быть более уверенным, что клиентская база будет увеличиваться, а текущие пользователи продолжат эффективно пользоваться приложениями банков. Внедрение современных подходов в виде автоматизации тестирования позволяет увеличить скорость доставки изменений до конечных клиентов. В данных условиях это приобретает стратегическое значение», — делится своим мнением Денис Кульчавый, директор департамента тестирования банковских систем a1qa.

Перспективы разработки банковского ПО в нестабильных условиях

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

18 февраля 2020 года в Магнитогорске в ходе XII Уральского форума «Информационная безопасность финансовой сферы» председатель Банка России Эльвира Набиуллина отметила: «Финансистам необходимо решить проблему доверия к ним со стороны населения и бизнеса страны. Сделать это без реальной защиты персональных данных невозможно. Таким образом, приоритетной задачей становится обеспечение безопасности и стабильности прикладного ПО».

Поэтому в систему управления операционными рисками по стандартам «Базель III» как неотъемлемая часть будет встраиваться оценка рисков IT и ИБ: чем больше рисков — тем больше нужно содержать резервов, а ПО без обеспечения его качества — прямые убытки банка. За убытки отвечают первые лица банка, вплоть до уголовной ответственности.

«Базель III», кроме того, устанавливает жесткие требования к обеспечению непрерывности предоставления финансовых сервисов, которая зависит от качества ПО. Если простои вызваны выявлением уязвимостей, наличием недекларируемых возможностей, а порой и банальной кражей интеллектуальной собственности, то весь банк испытает последствия этих фактов на своей рентабельности и устойчивости.

Поэтому мотивация создавать софт и грамотно проводить его проверку резко меняется. Встает вопрос: как это делать эффективно? И ответ очевиден: проводить своевременное тестирование программных продуктов.

Банковское ПО: что нужно проверять в первую очередь?

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

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

Чтобы проверить правильность работы каждой функциональности банковского ПО с учетом специфики проведения транзакций, инженеры по качеству осуществляют ручное функциональное тестирование:

  • исследуют соответствие софта функциональным и бизнес-требованиям;

  • оценивают надежность и корректность работы каждого модуля системы в рамках модульных тестов;

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

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

Также крайне актуально для банковского программного продукта проведение тестирования производительности, которое может включать:

  • нагрузочное тестирование (оценку поведения программного продукта под ожидаемой нагрузкой);

  • тестирование конфигурации (оценку работы ПО при различных конфигурациях окружения);

  • объемное тестирование (проверку работы приложения при увеличении количества используемых данных);

  • проверку стабильности (анализ работоспособности продукта при длительном тестировании с ожидаемым уровнем нагрузки);

  • проверку масштабируемости (проверку способности приложения функционировать корректно при увеличении/уменьшении масштаба нефункциональных возможностей);

  • стресс-тестирование (определение предельной нагрузки ПО и оценку устойчивости системы при пиковых нагрузках).

Для обеспечения позитивного клиентского опыта нужно позаботиться и о других аспектах качества: об удобстве использования программных продуктов (юзабилити); о корректности работы системы в браузерах разных устройств (совместимости), а также о бесперебойной работе на различных мобильных устройствах (для этого проводится тестирование мобильных приложений).

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

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

Так, устранение ошибок на этапе требований экономит множество часов разработки неверно работающих модулей и их переработки. А внедряя так называемое непрерывное тестирование (continuous testing), реализуемое в рамках практик DevOps, бизнес сможет выпустить ПО на высоких скоростях, не теряя в качестве. Непрерывное тестирование помогает не только проверить изменения кода, но и оптимизировать тестовое покрытие, чтобы убедиться в правильном функционировании продукта.

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

Аналитики Gartner подтверждают ценность такого сервиса и дают совет: «Нужно помнить, что автоматизация тестирования должна строиться не по остаточному принципу. Потратив некоторое время на углубление в вопросы автоматизации, вы сможете подобрать нужный подход и инструменты тестирования, а также построить модель для оценки ее полезности на проекте».

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

Безусловно, тестирование банковского ПО следует доверять опытным QA-инженерам, которые могут быть частью внутренней либо выделенной внешней команды. Привлекая выделенную QA-команду, бизнес быстро получает нужное количество специалистов с отраслевой экспертизой и необходимыми компетенциями. Дополнительные плюсы в данном случае — возможность увеличивать и уменьшать команду в процессе работы и получать объективную оценку качества ПО «со стороны».

Тот набор тестов и подходов, который описан выше, проходит гораздо эффективнее, когда QA-инженеры имеют большой опыт тестирования мобильных приложений, АБС, ДБО, ядра платежной системы, а также умеют углубляться в детали работы самого программного продукта и понимают цели бизнеса.

Это дает реальные шансы предотвратить сбои в работе ПО и исправить дефекты как можно раньше, что, собственно, и нужно сегодня бизнесу, чтобы оставаться конкурентоспособным на рынке!




Присоединяйся к нам в телеграмм