银行领域应用测试
在当今的开发和软件行业中,银行应用程序是最难开发和工作的应用程序之一。其难点之一在于它涉及金钱,因此在测试过程中我们承担不起任何错误。每个人都希望自己的钱安全,因此他们将钱存入银行,因此银行应用程序必须完美无缺。
那么我们应该怎么做,如何着手处理这个问题,这是本文将要解答的问题之一。我们还将了解测试此类应用程序的不同阶段和技术。
银行领域测试
银行领域测试是一种软件测试流程,用于测试银行应用程序的功能、性能和安全性。银行应用程序测试的主要目标是确保银行软件的所有操作和功能都能正常工作,没有任何问题,并且是安全的。
银行、金融服务和保险 (BFSI) 行业消耗了最多的 IT 服务。银行应用程序直接处理敏感的财务信息。银行软件执行的所有任务都必须平稳且无错误地执行。
银行应用程序的特点
具有多层功能,可以支持数千个并发用户会话。
大规模集成 - 银行应用程序通常与各种其他程序集成,例如账单支付实用程序和交易账户。
复杂的业务流程
批量和实时处理
高交易速度(每秒交易数)
安全的交易
强大的 AI 功能来跟踪日常交易。
大量的审计来解决客户问题。
海量的存储设施
灾难管理和恢复。
在测试中,什么是领域?
在测试中,领域指的是为软件测试项目建立的行业。这个词在讨论软件项目或开发时经常使用。例如,保险领域、银行领域、零售领域、电信领域等等。
通常,在构建任何专门的领域项目时,都会寻求领域专家的帮助。领域专家是其领域的专家,他们可能对某个产品或应用程序了如指掌。
为什么领域知识很重要?
领域知识很重要,因为它有以下好处:
缩短培训时间
有助于快速跟踪缺陷
为 UI 功能和后端处理提供良好的思路
对业务流程、工作流和规则有很好的把握
有助于轻松理解技术术语
银行领域包含大量的概念,可以将其分为两类。
- 传统银行部门
- 服务型银行部门
下表列出了这两个银行子部门提供的服务。
| 传统银行部门 |
|
| 服务型银行部门 |
|
在银行应用程序中执行操作涉及多个级别。
例如,银行应用程序可能包括:
最终用户通过浏览器连接到 Web 服务器。
中间层验证 Web 服务器的输入和输出。
数据和过程存储在数据库中。
交易处理器,它可能是一个高容量大型机或任何其他能够每秒处理数万亿笔交易的遗留系统。
在测试银行系统时,需要采用包含不同软件测试技术的端到端测试方法来确保以下方面:
全面涵盖所有财务操作和业务需求。
应用程序的功能方面
应用程序的安全性级别
数据完整性
- 并发性
- 用户体验
银行应用程序测试:测试阶段
银行应用程序测试涉及多个测试阶段。
**需求分析** - 业务分析师执行需求分析,包括收集和记录特定银行应用程序的需求。
**需求审查** - 此任务涉及质量分析师、业务分析师和开发负责人。在此阶段,对需求收集文档进行评估和交叉检查,以验证其是否不会干扰工作流。
**业务需求文档** - 质量分析师创建包含所有已审查业务需求的业务需求文档
此测试涵盖数据完整性、数据加载、数据迁移、存储过程和函数验证、规则测试等。
**集成测试** - 在集成测试期间,将所有开发的组件组合在一起并进行验证。
**功能测试** - 在此阶段,执行典型的软件测试任务,例如测试用例准备、测试用例审查和测试用例执行。
**可用性测试** - 可用性测试确保具有不同能力的人员能够以与其他人相同的方式使用系统。例如,残疾人可以使用具有听觉和盲文功能的 ATM。
**用户验收测试** - 用户验收测试 (UAT) 是由最终用户执行的测试的最后阶段,以检查应用程序是否符合现实场景。
安全测试确保程序没有漏洞。为了入侵系统并在任何未经授权的个人访问之前报告它,QA 团队必须在测试准备期间包含负面和正面测试场景。银行还应安装多层访问验证,例如一次性密码,以防止黑客攻击。IBM AppScan 和 HPWebInspect 等自动化工具用于安全测试,而 Proxy Sniffer、Paros 代理和 HTTP Sniffer 等手动测试工具用于手动测试。
是什么使银行软件如此复杂?
银行应用程序处理敏感的财务数据,因此其性能必须不包含任何错误并且高度安全。
开发人员选择这些应用程序的复杂架构,以确保它们以所需的安全性方式运行。
银行是一个不断变化的行业。客户现在可以通过各种渠道访问银行业务,包括实体分支机构、ATM、网上银行和客户服务。
随着技术的进步,大量与银行系统连接进行金融交易的钱包充斥着市场。
银行业务还旨在每天 24 小时、每周 7 天全天候提供,并且具有高性能。这种可用性不会受到软件升级、热补丁或其他问题的影响。
银行行业也受到政府以银行法规形式进行的持续调整的重大影响。任何税法变化都会影响金融体系。
在现代技术方面,银行系统必须保持最新。在银行业中,数据分析(如海量数据处理)以及使用数据科学从大数据中提取洞察力正在兴起。
银行应用程序测试的重要性
测试银行应用程序可确保所有操作不仅执行正确,而且安全可靠。
银行软件具有数千个依赖项,因此非常复杂,测试需要更多时间、资源和持续监控。
由于涉及金钱,因此必须遵守某些程序。测试人员和开发人员都应该精通该领域。
最重要的是,必须验证是否正确应用了管理金融交易的法律法规。测试是确保这一点的唯一方法。
同样至关重要的是,确保银行应用程序的不同模块正确连接,并且满足客户的目标。系统集成测试有助于完成此活动。
同样至关重要的是,确保程序及其运行的基础设施能够处理需求而不会导致任何停机时间,尤其是在业务高峰时段。可以使用性能测试来确保这一点。
在当今的数字世界中,每个人都关心的一件事是安全。必须确保任何试图入侵银行应用程序以及在其中进行的金融交易的企图都是安全的。这可以通过使用安全测试来确保。安全测试有助于执行保护金融交易的行业标准。
银行应用程序示例测试用例
新网点测试用例
创建一个新的网点,并使用有效和无效的测试数据填充它。
创建一个没有数据的全新网点。
使用现有网点的数据创建一个新网点。
检查重置和取消选项。
应将有效和无效的测试数据添加到网点详细信息中。
使用现有网点测试数据更新网点详细信息。
检查新网点是否可以保存。
检查取消选项是否处于活动状态。
检查带有和不带依赖项的网点删除。
检查网点搜索选项是否处于活动状态。
新角色的案例研究
创建一个新的角色,并使用有效和无效的测试数据填充它。
创建一个没有数据的新的角色。
确认可以使用已经存在的测试数据创建新的角色。
检查角色定义和类型。
检查取消和重置按钮的功能。
检查角色删除过程,包括带有和不带依赖项的情况。
检查角色信息页面上的链接。
检查管理员登录,不使用任何测试数据。
对于管理员角色,仔细检查所有主页链接。
检查管理员是否可以使用有效和无效的测试数据更改密码。
验证管理员是否已成功注销。
客户和银行家测试用例
检查所有访客和客户链接是否正常工作。
应使用有效和无效的测试数据验证客户的登录。
验证客户的登录,不提供任何信息。
检查银行家登录,不输入任何信息。
应使用有效或无效的测试数据验证银行家的登录。
检查客户或银行家是否能够成功注销。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP