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

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

Краткое оглавление:

  • Почему знание предметной области имеет значение?
  • Введение в банковский домен
  • Характеристики банковского приложения
  • Этапы тестирования банковских приложений
  • Пример тестирования приложения для входа в Banking.Net
  • Проблемы в тестировании банковского домена и их решение.

Почему знание предметной области имеет значение?

Знание предметной области является наиболее важным для тестирования любого программного продукта и имеет свои преимущества:

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

Знание банковской отрасли: введение

Обычно банковский домен делят на 2 сектора:

  1. Традиционный банковский сектор:
    • основная банковская деятельность;
    • корпоративный банкинг;
    • розничные банковские услуги.
  2. Сервисный банковский сектор:
    • корпоративный;
    • розничная торговля;
    • ссуда;
    • финансовая торговля;
    • личный банк;
    • потребительские финансы.

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

Характеристики банковского приложения

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

Стандартное банковское приложение должно соответствовать всем характеристикам, приведенным ниже:

  • Поддержка тысячи одновременных пользовательских сессий.
  • Интеграция с другими многочисленными приложениями, такими как: торговые счета, утилита оплаты счетов, кредитные карты и т. д.
  • Обработка быстрых и безопасных транзакции.
  • Включает в себя массивную систему хранения.
  • Комфортная возможность аудита (для устранения проблем с клиентами).
  • Обрабатывает сложные бизнес-процессы.
  • Поддержка пользователей на разных платформах (Mac, Linux, Unix, Windows).
  • Поддержка пользователей из разных мест.
  • Поддержка многоязычных пользователей.
  • Поддержка пользователей в различных платежных системах (VISA, QIWI, MasterCard).
  • Поддержка нескольких секторов обслуживания (кредиты, розничные банковские операции и т. д.).
  • Механизм защиты от стихийных бедствий.

Этапы тестирования банковских приложений

Различные этапы тестирования тестирования банковских приложений включают в себя:

  • Анализ требований.
    Выполняется бизнес-аналитиком; требования для конкретного банковского приложения собраны и задокументированы.
  • Обзор требований.
    В эту задачу вовлечены качественные аналитики, бизнес-аналитики и лидеры развития. На этом этапе проверяется документ сбора требований, который перепроверяется, чтобы убедиться, что он не влияет на рабочий процесс.
  • Документация по бизнес-требованиям.
    Документы по бизнес-требованиям подготавливаются качественными аналитиками.
  • Тестирование базы данных.
    Это самая важная часть тестирования банковских приложений. Это тестирование проводится для обеспечения целостности, загрузки, переноса данных; проверки хранимых процедур и функций; тестирования правил и т. д.
  • Интеграционное тестирование.
    В рамках интеграционного тестирования все разработанные компоненты интегрированы и проверены.
  • Функциональное тестирование.
    На этом этапе выполняются обычные действия по тестированию программного обеспечения, такие как: подготовка тестового набора, проверка тестового набора и его выполнение.
  • Тестирование безопасности.
    Этот этап гарантирует, что программное обеспечение не имеет никаких недостатков безопасности. Во время подготовки к тестированию команда QA должна включать как отрицательные, так и положительные сценарии тестирования, чтобы проникнуть в систему и сообщить об этом до того, как любой неавторизованный человек получит к ней доступ. В то же время, чтобы предотвратить взлом, банк должен также реализовать многоуровневую проверку доступа, например, одноразовый пароль. Для тестирования безопасности используются инструменты автоматизации, такие как IBM AppScan и HPWebInspect, а для инструментов ручного тестирования, такие как Proxy Sniffer, Paros proxy, HTTP watch и т. д.
  • Юзабилити-тестирование.
    Оно гарантирует, что люди с разными способностями смогут использовать систему, как обычный пользователь. Например, банкомат со слухом и шрифт Брайля для инвалидов.
  • Приемочное тестирование пользователя.
    Это конечный этап тестирования, выполняемый конечными пользователями для обеспечения соответствия приложения сценарию реального мира.

Пример тестирования приложения для входа в Banking.Net

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

Ниже приведены общие тестовые примеры для проверки любого банковского приложения.

Примеры тестовых случаев:

Для администратора
  • Проверить логин администратора с действительными и недействительными данными
  • Подтвердить логин администратора без данных
  • Проверить все домашние ссылки администратора
  • Проверить смену пароля с действительными и недействительными данными
  • Подтвердить админ сменить пароль без данных
  • Подтвердить смену пароля с существующими данными
  • Подтвердить выход администратора
Для новой ветки
  • Создать новую ветку с действительными и недействительными данными
  • Создать новую ветку без данных
  • Создать новую ветку с существующими данными ветки
  • Проверить сброс и отменить опцию
  • Обновить ветку с действительными и недействительными данными
  • Обновить ветку без данных
  • Обновить ветку существующими данными ветки
  • Подтвердите отмену
  • Проверьте удаление ветки с и без зависимостей
  • Проверить вариант поиска по ветке
Для новой роли
  • Создать новую роль с действительными и недействительными данными
  • Создать новую роль без данных
  • Проверить новую роль с существующими данными
  • проверить описание и типы ролей
  • Проверьте отмену и сброс настроек
  • Проверка удаления роли с зависимостью и без нее
  • проверить ссылки на странице сведений о роли
Для клиентов и посетителей
  • Проверьте все ссылки посетителей или клиентов
  • Подтвердите логин клиентов с действительными и недействительными данными
  • Подтвердите логин клиентов без данных
  • Подтвердите логин банкиров без данных
  • Подтвердите логин банкиров с действительными или недействительными данными
Для новых пользователей
  • Создать нового пользователя с действительными и недействительными данными
  • Создать нового пользователя без данных
  • Создать нового пользователя с существующими данными филиала
  • Проверьте отмену и сброс настроек
  • Обновить пользователя действительными и недействительными данными
  • Обновить пользователя существующими данными
  • Подтвердите отмену
  • Подтвердите удаление пользователя

Проблемы в тестировании банковского домена и их решение

Испытания, с которыми может столкнуться тестировщик во время тестирования банковского домена:

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

Резюме

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

Надо помнить следующее:

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

Статья подготовлена на основе материалов сайта guru99.com
⟵ Назад