目录:导读
前言
银行的软件测试是针对银行的软件系统(如柜面系统、信贷系统)和银行专用设备(如ATM机、自助柜员机等)进行的一系列测试工作。
1、银行测试人员的组成
目前银行测试人员分为行方人员和非行方人员(外包)。
银行测试的主要执行人为非行方人员,其主要任务为分析需求、设计用例、执行用例、缺陷跟踪复测。行方人员主要角色为管理层,把控项目进度以及上线时间并处理线上的一些问题。
2、银行测试的侧重点
因为银行的软件系统一般都是以业务为主体,所以测试的时候要特别关注整个系统的业务流程是否是顺畅的、无阻碍的。
例1::
A银行的柜面系统刚刚完成改造,我们回去验证这个新柜面系统的一些基本业务是否能够正常进行,比如开户流程、存取款流程。
例2::
B银行的信贷系统刚刚建立,我们回去验证这个信贷系统是否可以走完整贷前、贷中、贷后等业务流程,测试人员还要检验信贷系统和核心、风控等系统的对接是否正常来确保被测系统和与之有关联的系统之间的业务不阻塞,也确保系统与系统之间不会因为一些异常的操作和请求导致出现错误。
通过以上举例可以表明,银行的各个系统不是孤立的,是有业务联系的,因此测试时不仅要关注系统本身的功能也要关注业务流程和系统与系统之间的关联。
3、 银行测试类别划分
1)功能测试
验证银行某系统的某个功能模块是否可以正常工作。
比如网银系统中的转账模块,就要通过转账操作来测试该模块功能是否正常。
2)业务测试
验证业务系统的功能是否正确实现,测试其业务处理的准确性。
3)业务流程测试
业务流程的测试,为了保证业务能正常开展,在上线前要对整个业务流程进行详细的测试工作。
比如一个网贷业务系统,网贷是线上贷款系统,借款人可以通过贷款平台的手机APP直接在线进行贷款申请、借款、还款等操作、方便快捷,因此由银行(行方)出资贷款平台(平台方)负责吸收客户的网贷系统应运而生。
一般网贷涉及的系统会有平台方系统、渠道系统(行方提供的对外连接渠道,有加密、转译等功能)、网贷业务系统、核心系统、风控系统等。
以网贷的借款流程为例:
用授信申请通过的客户信息从平台方发送借款申请,申请经由渠道系统到达业务系统,再由业务系统发送到风控审核,风控将审核结果返回给业务系统(比如申请通过的结果),再由业务系统调用核心系统进行放款,核心放款成功,业务系统将放款结果经由渠道系统发送至平台方。
通过以上业务流程可以看出银行测试不是单方面的验证某一个系统的功能,而是根据业务规则对整个业务涉及到的系统都会做一个全流程的测试。
4)客户端测试
客户端主要针对的是软件界面功能的测试,根据功能划分一般涉及以下几类:
系统管理类系统管理主要包括系统参数管理、用户管理、角色管理、权限分配等,测试也包含相应的业务逻辑及页面测试,如查询功能的测试、显示风格、验证客户端页面显示数据是否正确等。
数据查询类主要验证数据查询结果客户端显示是否正确。
其它涉及业务操作的功能界面主要针对客户端界面的录入、查询等功能进行测试。
客户端测试还会对界面的友好性、提示信息的合理性等进行测试。
5)接口测试
对于银行来说,通常行内系统和与银行外对接的系统是独立开发的,行内与行外系统采用的数据库、通讯协议等都可能存在差异;
并且对于银行来说,还可能存在多个系统,如:网上银行、ACE/柜面、电话银行、呼叫中心、信贷、资产托管、资金风险监控分析系统等。
并且各个系统之间可能关联特别紧密,存在许多交互;因此,在测试中会涉及到相关系统接口的测试,这时通常需要构造对接系统的测试环境、数据、业务等来模拟对接系统。
接口测试一般在功能测试阶段完成,功能测试计划中应包含接口测试。
6)数据移植测试
对于银行来说,软件产品经常存在更新换代或升级的情况,新系统的运行环境和旧系统可能不一致。
因此,为了保证系统的顺利运行,在新系统研发出来,准备上线之前,需要把原来旧系统的客户历史数据移植过来,这就涉及到了数据移植问题。
数据移植并不是简单的数据迁移,因为新旧系统之间数据字典是不同的,为了保证移植结果的正确性,需要对新旧数据库的数据进行比对,通常可以通过人工方法或开发比对工具进行比对。
数据移植测试往往需要测试人员有足够的耐心,能仔细进行比对,发现存在的问题。数据移植测试一般在功能测试阶段完成,功能测试计划中应包含数据移植的测试。
7)性能测试
性能测试的目的主要是验证业务系统是否满足业务需求的多用户并发操作,是否满足业务性能需求,评估压力解除后的自恢复能力,测试系统性能极限。
在性能测试过程中,通过性能测试工具来模拟与真实环境接近的情况,如通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率,获得一定的参数(如:(如内存、CPU、缓存、系统响应时间、最大吞吐率、事务平均处理时间),以及系统可以承受的压力情况,进行针对性的测试与结果分析,找到影响系统性能的瓶颈,以便对系统进行优化。
8)安全性测试
安全性测试目的主要是评估业务系统在网络安全、主机安全、应用安全、数据安全、运行维护安全、电子认证安全、业务连续性等方面的能力及管理措施,评价其业务系统的安全防控和安全管理水平。
对于金融行业软件来说,安全性有着重大的意思。
通常用的安全性检查手段及检查点如:跨站攻击、弱点攻击、管理界面泄露、敏感信息泄露、跨站点请求伪造、恶意上传等。
9)风险监控测试
主要目的是评估业务系统的风险监控、预警和管理措施,测试其业务系统异常交易、大额交易、非法卡号交易、密码错误交易等风险的监测和防范能力以及系统资源占用的监控。
风险监控测试一般在功能测试阶段或性能测试阶段完成,功能测试或性能测试计划中应包含风险监控的测试。
10)文档审核
目的主要是验证业务系统的用户文档、开发文档、管理文档等是否完整、有效、一致,是否符合相关标准并遵从更新控制和配置管理的要求。
文档审核最基本的原则是软件实现必须按照用户需求文档来进行设计和实现。
11)自动化测试
现阶段实施的自动化测试与手工测试相比较,就是采用程序模拟手工测试的过程。在自动化测试过程中,原来由手工控制的操作,现在由程序来控制,不再进行手工干预。
自动化测试主要用于功能测试,测试过程包括脚本的录制、编写及回放。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
即使面临黑暗与困苦,也要坚信曙光在前方。让我们以勇气为剑,信念为盾,勇往直前地在奋斗之路披荆斩棘,因为每一次的拼搏都是对潜力的挖掘,对梦想的追逐。
在人生的竞技场上,每个人都是自己故事的主角。让我们以奋斗为笔,决心为墨,书写属于自己的传奇。无论遭遇何种挑战,都要坚韧不拔,因为每一次的拼搏都在塑造更强的自我,引领我们走向成功的辉煌殿堂。
即使身处逆境,也要怀揣希望,勇往直前。奋斗是通往成功的阶梯,每一次的攀登都是对自我极限的突破。