Компании, предоставляющие банковские и финансовые услуги, являются крупнейшим потребителем ИТ-услуг в мире, и в России в частности. Банковские приложения напрямую связаны с конфиденциальными финансовыми данными. Очень важно, чтобы все операции, выполняемые банковским программным обеспечением, выполнялись без сбоев и ошибок. Банковское программное обеспечение выполняет различные функции: перевод и внесение средств, запрос баланса, история транзакций, вывод средств и так далее. Качественное тестирование банковского приложения гарантирует, что эти действия не только хорошо выполняются, но и остаются защищенными от хакеров.
Краткое оглавление:
- Почему знание предметной области имеет значение?
- Введение в банковский домен
- Характеристики банковского приложения
- Этапы тестирования банковских приложений
- Пример тестирования приложения для входа в Banking.Net
- Проблемы в тестировании банковского домена и их решение.
Почему знание предметной области имеет значение? Знание предметной области является наиболее важным для тестирования любого программного продукта и имеет свои преимущества:
- сокращает время вхождения в проект;
- помогает в быстром отслеживании дефектов;
- позволяет детально проработать пользовательский интерфейс и серверную обработку;
- дает полный контроль над рабочим процессом, бизнес-процессом и правилом;
- проще понять техническую терминологию.
Знание банковской отрасли: введение Обычно банковский домен делят на 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