在这个内卷严重的时代,银行的业务不断增加,随着软件信息化的要求越来越高,银行对软件测试人员也提出了非常高的要求。
银行的软件测试是针对银行的软件系统(如柜面系统、信贷系统)和银行专用设备(如ATM机、自助柜员机等)进行的一系列测试工作。
一 银行应用的特点?
1、数据量大
数据量大,银行为顺应金融业务和信息技术相融合的大趋势,斥巨资将过去分散的、功能较弱的、以业务自动化处理为主的单一计算机系统改造为功能强大的集中式计算机应用系统。
2、复杂性高
银行业务可分为两块:一部分是传统业务,包括一般贷款、简单外汇买卖、贸易融资等,主要是靠大量分行网络、业务量来支持。另外是复杂业务,如衍生产品、结构性融资、租赁、引进战略投资者、收购兼并上市等,这些并不是非常依赖分行网络,是高技术含量、高利润的业务领域。这些都需要复杂的技术才能实现,对于软件测试而言,业务的复杂性也增加了测试的复杂性。
3、安全要求高
银行的主要业务是存款和派生存款,约占资金来源的80%以上,另外联行存款、同业存款、借入或拆入款项或发行债券等,也属于银行的业务。这些业务都涉及到金钱,所以在银行业务中,客户数据的安全、资金的安全显得尤为重要。
4、形式多样化
银行卡业务、代理中间业务、担保类中间业务、承诺类中间业务、交易类中间业务、基金托管业务、咨询顾问类业务等都是银行的业务范围,其表现形式多种多样。在互联网盛行的时代,金融将以科技的形态出现,金融科技时代出现后,大数据、云计算、以及人工智能等新科技将从根本上改变当前金融行业的运作和体系,金融将不仅仅是一个行业,而是一直适应新时代的生活方式。
二 银行的主要测试范围?
银行的测试主要包括功能测试、业务验证测试、客户端测试、接口测试、性能测试、安全性测试等。
1、功能测试
功能测试,主要是对软件的功能进行的验证。
2、业务验证测试
验证业务系统的功能是否正确实现,测试其业务处理的准确性。
1)业务流程测试
金融行业软件测试首先关注的是业务的正确性,业务流程要合理、业务处理正确无误,这些往往需要测试人员具备一定的金融软件测试经验,才能更好的判断业务流程设计是否合理,是否满足客户实际需求,以及业务流程处理过程中可能会涉及到的异常,通常通过正常案例和异常案例来验证业务流程的完整性和正确性。业务流程除了验证流程的正确性,通常对于涉及金额、资金、库存等数据及业务流程中生成的记录是否正确性也是测试的重点。
2)账务处理
对于银行来说,账务处理为核心系统功能,也是这类软件测试的重点,账务处理不仅涉及到资金,还与交易过程相关,在测试系统对账时,必须对账务处理流程有清晰的认识,对于账务处理过程中账务是否处理正确、是否出现错账、是否需要进行调账等案例都要能进行完整的案例设计来覆盖测试点。
3)清算
银行系统清算过程涉及的东西较多,如资金清算、库存清算、计费、计息、对账、登帐、报表生成等复杂的过程,同时涉及的数据量也是非常的大,对于大型系统来说更是如此数据检查的工作量也很大,同样测试人员需要对清算的全过程有清晰的了解。
4)报表
对于银行系统来说,报表是直接呈现给用户最直接的结果,而对一个银行系统来说,报表的数量一般都较庞大,很可能涉及到几十张报表,因此对报表的检查也是测试的重点,这需要测试人员对银行系统涉及的业务非常熟悉,能判断报表的设计是否合理,报表数据是否正确等。
3、客户端测试
客户端主要针对的是软件界面功能的测试。
1)系统管理类
系统管理主要包括系统参数管理、用户管理、角色管理、权限分配等,测试也包含相应的业务逻辑及页面测试,如查询功能的测试、显示风格、验证客户端页面显示数据是否正确等。
2)数据查询类
主要验证数据查询结果客户端显示是否正确。
3)其它涉及业务操作的功能界面
主要针对客户端界面的录入、查询等功能进行测试,客户端测试还会对界面的友好性、提示信息的合理性等进行测试。
4、 接口测试
对于金融行业来说,经常有对接需求,以及各系统间互相调用等场景,本公司和合作方公司采用的数据库、通讯协议等都可能存在差异,并且在公司内也有业务系统、审批、风控等不同的系统,并且各个系统之间可能关联特别紧密,存在许多交互;因此,在测试中会涉及到相关系统接口的测试,这时通常需要构造对接系统的测试环境、数据 、业务等来模拟对接系统。
5、性能测试
性能测试的目的主要是验证业务系统是否满足业务需求的多用户并发操作,是否满足业务性能需求,评估压力解除后的自恢复能力,测试系统性能极限,随着金融行业软件的规模越来越大、处理能力要求越来越高,进行性能测试成为金融软件测试中必不可少的一个环节。
6、安全性测试
安全性测试的目的是评估业务系统在网络安全、运用安全,数据安全、业务连续性等方面的能力,评估系统的安全管理水平,尤其对于网络日益发达的今天,大量的金融类交易都是通过网络来实现,确保信息的安全,对安全性测试提出了更高的要求。
三 银行软件测试面试题
1、网上银行转账是怎么测的,设计一下测试用例?
2、在项目中找到的经典BUG是什么?
3、定期存款到期自动转存该怎么测?
4、你们项目做了多久,共写了多少用例?项目多少人?
5、实名认证你们是怎么测的?调取什么平台的资料?
6、linux你是怎么用的,在什么场景下用的,请根据实际工作情况去举例?
7、给你一个模块测试,只有一个星期的时间你如何有效率地完成?
8、以前的项目每天需要执行多少用例?
9、你们怎么确保用例覆盖率?确保不重复?
10、数据库题目大多是根据多表查询、关联、子查询出的题
总结: 如果去银行面试,在数据库关联、多表查询、子查询,linux运用场景,实例,多下点功夫,用查询出的题会多一点,因为增删改一般在公司都不会有权限。如果你能懂一些银行相关的业务当然就更加分了,公司最喜欢的是技能和业务都精通的员工。
行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!