银行领域测试
银行领域测试是针对银行应用程序的功能、性能和安全性的软件测试过程。测试银行应用程序的主要目的是确保银行软件的所有活动和功能顺利运行,没有错误,并且保持保护状态。
BFSI(银行、金融服务和保险)部门是IT服务的最大消费者。测试银行应用程序可以确保这些活动不仅可以很好地执行,而且还可以免受黑客攻击。
在本教程中,我们将学习
- 什么是测试中的域?
- 为什么领域知识很重要?
- 银行业领域简介
- 银行应用程序的特征
- 测试银行应用程序的阶段
- 网上银行登录应用示例测试用例
- 银行领域测试面临的挑战及其对策
什么是测试中的领域?
测试领域只不过是为软件测试项目创建的行业。例如,保险域、银行域、零售域、电信领域等。
通常,在开发任何特定的领域项目时,都会寻求领域专家的帮助。领域专家是该主题的测试专家,对产品或应用程序了如指掌。
为什么领域知识很重要?
领域知识对于测试任何软件产品都是非常重要的,它有自己的好处,比如
银行业领域知识-简介
银行领域的概念很庞大,基本上可以细分为两个部分
- 传统银行业
- 以服务为基础的银行业
下表列出了银行业这两个子部门所涵盖的服务。
类型 | 业务 |
---|---|
传统银行业 | 核心银行业务 企业银行业务 零售银行业务 |
以服务为基础的银行业 | 核心 公司 零售业 贷款 贸易融资 私人银行业务 消费金融 伊斯兰银行业务 客户交付渠道/前端交付 |
根据项目范围,可能需要测试上述服务产品中的一个或全部。在开始测试之前,确保对正在测试的服务有足够的背景知识。
银行应用程序的特点
在开始测试之前,重要的是要注意任何银行应用程序应该具备的标准功能。这样,就可以调整测试努力来实现这些特性。
标准的银行应用程序应该满足下面提到的所有这些特征。
- 应该支持数千个并发用户会话
- 银行应用程序应该与其他众多应用程序集成,如交易帐户、账单支付实用程序、信用卡等。
- 应该能够快速、安全地处理事务
- 应该包括海量存储系统。
- 要对客户问题进行故障排除,它应具有较高的审核能力
- IT部门应处理复杂的业务工作流
- 需要支持多个平台(Mac、Linux、Unix、Windows)上的用户
- 应该支持来自多个位置的用户
- 应该支持多语言用户
- 应该支持各种支付系统(VISA、美国运通、万事达卡)的用户
- IT应支持多种服务部门(贷款、零售银行等)
- 万无一失的灾害管理机制
测试银行应用程序的测试阶段
对于测试银行应用程序,不同的测试阶段包括
- 需求分析:由业务分析师完成;收集并记录特定银行应用程序的需求
- 需求评审:此任务涉及质量分析人员、业务分析人员和开发领导。在此阶段将审查需求收集文档,并进行交叉检查,以确保它不会影响工作流
- 业务需求文档:业务需求文档由质量分析师准备,其中涵盖了所有已审核的业务需求
- 数据库测试:是银行应用测试中最重要的部分。执行此测试是为了确保数据完整性、数据加载、数据迁移、存储过程和函数验证、规则测试等。
- 集成测试:在集成测试下,所有开发的组件都被集成和验证
- 功能测试:通常的软件测试活动,如测试用例准备、测试用例审查和测试用例执行都在此阶段完成
- 安全测试:确保软件没有任何安全缺陷。在测试准备期间,QA团队需要包括否定和肯定的测试场景,以便更好地进行安全测试,使用IBM AppScan和HPWebInspect等自动化工具,而使用代理嗅探器、Paros代理、HTTP监视等手动测试工具
- 可用性测试:它确保不同能力的人应该能够以普通用户的身份使用系统。例如,带听力和盲文设施的残疾人自动取款机
- 用户验收测试:这是最终用户进行测试的最后阶段,以确保应用程序符合现实场景。
网上银行登录应用测试用例
对于任何银行应用程序来说,安全性都是首要的。因此,在测试准备过程中,QA团队应该包括否定和肯定的测试场景,以便潜入系统并报告任何漏洞,然后不仅涉及编写否定测试用例,还可能包括破坏性测试。
以下是检查任何银行应用程序的通用测试用例
示例测试用例 | 用例描述 |
---|---|
适用于管理员 |
使用有效和无效数据验证管理员登录
验证没有数据的管理员登录 验证所有管理员主页链接 使用有效和无效数据验证管理员更改密码 验证管理员在没有数据的情况下更改密码 使用现有数据验证管理员更改密码 验证管理员注销 |
对于新分支机构 |
使用有效和无效数据创建新分支
创建不带数据的新分支 使用现有分支数据创建新分支 验证重置和取消选项 使用有效和无效数据更新分支 更新不带数据的分支 使用现有分支数据更新分支 验证取消选项 验证具有和不具有依赖关系的分支删除 验证分支搜索选项 |
对于新角色 |
使用有效和无效数据创建新角色
创建不带数据的新角色 使用现有数据验证新角色 验证角色描述和角色类型 验证取消和重置选项 验证具有和不具有依赖关系的角色删除 验证角色详细信息页面中的链接 |
针对客户和访客 |
验证所有访问者或客户链接
验证客户使用有效和无效数据登录 验证客户在没有数据的情况下登录 验证没有数据的银行家登录 使用有效或无效数据验证银行家登录 |
适用于新用户 |
使用有效数据和无效数据创建新用户
创建没有数据的新用户 使用现有分支机构数据创建新用户 验证取消和重置选项 使用有效和无效数据更新用户 使用现有数据更新用户 验证取消选项 验证用户的删除 |
银行领域测试面临的挑战及其缓解
测试人员在测试银行领域时可能面临的挑战有
挑战 | 应对 |
---|---|
访问生产数据并将其复制为测试数据,非常困难 | 确保测试数据符合法规遵从性要求和准则 通过数据屏蔽、合成测试数据、测试系统集成等技术维护数据机密性。 |
银行系统测试的最大挑战是系统从旧系统迁移到新系统的过程中,如所有的例程、程序和计划的测试。此外,迁移后数据将如何提取、上传和传输到新系统 | 确保数据迁移测试已完成 确保在新旧系统上执行回归测试用例,并且结果匹配。 |
在某些情况下,没有很好地记录需求,可能导致测试计划中的功能差距 许多非功能需求没有完全文档化,测试人员不知道是否要测试它 | 测试应该从需求分析阶段就参与到项目中,并且应该积极审查业务需求 |
最重要的一点是检查该系统是否遵循预期的政策和程序 | 必须进行合规性或法规政策测试 |
随着银行应用与其他应用(如互联网或移动银行)的集成,范围和时间都会增加 | 如果银行应用程序有许多外部接口,确保将集成测试的时间预算计算在内 |
总结
银行领域是最容易受到网络盗窃的领域,保护软件需要进行精确的测试。必须明白-
- 大多数银行软件都是在大型机和Unix上开发的
- 测试有助于减少软件开发过程中可能遇到的故障
- 适当的测试和符合行业标准,使公司免于处罚
- 良好的做法有助于公司发展的业绩、声誉和业务
- 无论是手动测试还是自动测试,都有各自的优点和不足