测试银行应用程序
银行应用程序被认为是当今软件开发和测试行业中最复杂的应用程序之一。您是否想知道是什么让银行应用程序如此复杂,以及应该遵循什么方法来测试所涉及的复杂工作流程?我们将重点介绍测试银行应用程序所涉及的各个阶段和技术。
银行应用程序的特征:
-
多层功能,支持数千个并发用户会话
-
大规模集成,通常是银行应用程序与许多其他应用程序集成,例如账单支付实用程序,交易账户,在线定期存款等。
-
复杂的业务工作流
-
实时和批处理
-
每秒事务率高
-
安全事务
-
强大的报告部分,可跟踪日常交易
-
强大的审计功能可解决客户问题
-
海量存储系统
-
灾害管理。
上面列出的十点是银行应用程序最重要的特征。
银行应用程序在执行操作时涉及多个层。例如,典型的银行应用程序可能具有:
1 个 Web 服务器,用于通过 Web 浏览器与最终用户交互
2 用于验证 Web 服务器的输入和输出的中间层
3 用于存储数据和过程的数据库
4 事务处理器,可以是大容量大型机或任何其他遗留系统,每秒执行数万亿个事务。
如果我们谈论测试银行应用程序,它需要一个端到端的测试方法,涉及多种软件测试技术,以确保:
- 全面覆盖所有银行工作流程和业务需求
- 应用程序的功能方面
- 应用程序的安全性方面
- 数据完整性
- 并发
- 用户体验
下面描述了测试银行应用程序所涉及的典型阶段,我们将单独讨论这些阶段。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yR5XEoeb-1664440616681)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/eea61fd3936a4bfa943941817e7df46b~tplv-k3u1fbpfcp-watermark.image?)]
收集
需求审查
业务场景准备
功能测试
数据库测试
安全测试
用户接受
需求收集
需求收集阶段涉及将需求记录为功能
规范或用例。根据客户需求收集需求,并由银行专家或业务分析师记录。要编写要求,涉及多个主题专家,因为银行本身具有多个子域,并且一个成熟的银行应用程序将是所有子域的集成。例如,银行应用程序可能具有用于汇款,信用卡,报告,贷款帐户,账单支付,电子交易等的单独模块。
需求审查:
需求收集的可交付成果由所有利益相关者(如QA工程师,开发主管和同行业务分析师)进行审查。他们交叉检查现有业务工作流和新工作流是否都未违反。
业务场景准备:
在此阶段,QA 工程师从需求文档(功能规范或用例)派生业务方案。业务方案的派生方式是涵盖所有业务需求。业务方案是高级方案,没有任何详细步骤。此外,这些业务场景由业务分析师审查,以确保满足所有业务需求,并且BA审查高级场景比审查低级详细测试用例更容易。
功能测试:
在此阶段,将执行功能测试并执行通常的软件测试活动,例如:
测试用例准备:在此阶段,测试用例派生自业务方案,其中一个
业务场景导致几个正面和负面的测试用例。通常,在此阶段使用的工具是微软Excel,测试总监或质量中心。
测试用例评审:由同行 QA 工程师进行评审。
测试用例执行:测试用例执行可以是手动的,也可以是自动的,涉及QC,QTP,硒或任何其他工具。
数据库测试:
银行应用程序涉及在Ul级别和数据库级别执行的复杂事务,因此数据库测试与功能测试一样重要。数据库本身是一个完全独立的层,因此它通常由数据库专家执行,并使用相同的技术进行测试,例如
- 数据加载
- 数据库迁移
- 测试数据库架构和数据类型
- 规则测试
- 测试存储过程和函数
- 测试触发器
- 数据完整性
安全测试:
安全测试通常是测试周期的最后阶段,作为完成功能和非功能性是开始安全测试的入门标准。安全测试是整个应用程序测试周期的主要阶段之一,因为此阶段可确保应用程序符合联邦和行业标准。安全测试周期确保应用程序没有任何Web漏洞,这些漏洞可能会将敏感数据暴露给入侵者或攻击者,并符合OWASP等标准。
在此阶段,主要任务涉及整个应用程序扫描,这是使用 IBM Appscan 或 HP Weblnspect(最流行的工具)等工具执行的。
扫描完成后,将发布扫描报告并过滤掉误报。其余漏洞将报告给开发团队进行修复,具体取决于严重性。
用于安全测试的其他工具包括:Paros代理,Http Watch,打嗝套件,强化工具等,除了上述阶段之外,可能还涉及不同的阶段,如集成测试和性能测试。
在当今的场景中,大多数银行项目都在使用:敏捷/Scrum,RUP和持续集成方法,以及微软的VSTS和理性工具等工具包。
RUP代表理性统一流程,它是IBM引入的一种迭代软件开发方法,它包括执行开发和测试活动的四个阶段。
RUP的四个阶段是:
i)开始
ii)协作
iii)建设
iv)过渡
RUP 广泛涉及 IBM 理性工具。
这些是涉及测试复杂银行应用程序的典型阶段。