零、为什么做金融类软件测试
举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没有,业务稳定。实在是测试类岗位中的香饽饽!
一、什么是金融行业
金融业是指经营金融商品的特殊行业,它包括银行业、保险业、信托业、证券业和租赁业
往往涉及证券、银行、基金、信托、保险、投行、期货等领域
二、金融行业的业务特点
随着金融行业的业务不断增加,金融交易模式的不断变化,金融机构对信息化的要求也越来越高,高质量的金融软件对于金融机构来说显得尤为重要。如何保证金融行业软件的质量,对金融行业软件的测试人员来说,也提出了更高的要求
1. 金融行业的业务特点
数据量大
数据量大,金融企业为顺应金融业务和信息技术相融合的大趋势,斥巨资将过去分散的、功能较弱的、以业务自动化处理为主的单一计算机系统改造为功能强大的集中式计算机应用系统。
复杂性高
金融行业具有不同的用户人群,比如个人用户、企业用户等,业务种类繁多,业务逻辑也非常复杂,对业务处理的实时性、准确性和安全性都有很高的要求,这些都需要复杂的技术才能实现,对于软件测试而言,业务的复杂性也增加了测试的复杂性。
安全要求高
金融行业的业务中直接涉及到钱,需要与不同的系统进行交互,也直接涉及到银行账户、个人征信等信息,所以在金融业务中,客户数据的安全、资金的安全显得尤为重要。
形式多样化
金融的表现形式多样化,当前互联网时代衍生出网络贷款、互联网保险等一些新型的金融产品,未来将会出现更多贴近生活、淡化金融特性的产品。在互联网盛行的时代,金融将以科技的形态出现,金融科技时代出现后,大数据、云计算、以及人工智能等新科技将从根本上改变当前金融行业的运作和体系,金融将不仅仅是一个行业,而是一直适应新时代的生活方式。
三、金融行业测试主要测试范围
以下主要从功能测试、业务验证测试、客户端测试、接口测试、性能测试、安全性测试方面来简述金融行业软件的测试方法及范围
1. 功能测试
功能测试,主要是对软件的功能进行的验证,对于金融行业软件来说,功能测试主要进行以下功能的验证:
2. 业务验证测试
验证业务系统的功能是否正确实现,测试其业务处理的准确性。
1)业务流程测试
金融行业软件测试首先关注的是业务的正确性,业务流程要合理、业务处理正确无误,这些往往需要测试人员具备一定的金融软件测试经验,才能更好的判断业务流程设计是否合理,是否满足客户实际需求,以及业务流程处理过程中可能会涉及到的异常,通常通过正常案例和异常案例来验证业务流程的完整性和正确性。业务流程除了验证流程的正确性,通常对于涉及金额、资金、库存等数据及业务流程中生成的记录是否正确性也是测试的重点
2)账务处理
对于银行来说,账务处理为核心系统功能,也是这类软件测试的重点,账务处理不仅涉及到资金,还与交易过程相关,在测试系统对账时,必须对账务处理流程有清晰的认识,对于账务处理过程中账务是否处理正确、是否出现错账、是否需要进行调账等案例都要能进行完整的案例设计来覆盖测试点
3)清算
银行系统清算过程涉及的东西较多,如资金清算、库存清算、计费、计息、对账、登帐、报表生成等复杂的过程,同时涉及的数据量也是非常的大,对于大型系统来说更是如此数据检查的工作量也很大,同样测试人员需要对清算的全过程有清晰的了解
4)报表
对于银行系统来说,报表是直接呈现给用户最直接的结果,而对一个银行系统来说,报表的数量一般都较庞大,很可能涉及到几十张报表,因此对报表的检查也是测试的重点,这需要测试人员对银行系统涉及的业务非常熟悉,能判断报表的设计是否合理,报表数据是否正确等。
3. 客户端测试
客户端主要针对的是软件界面功能的测试
1)系统管理类
系统管理主要包括系统参数管理、用户管理、角色管理、权限分配等,测试也包含相应的业务逻辑及页面测试,如查询功能的测试、显示风格、验证客户端页面显示数据是否正确等。
2)数据查询类
主要验证数据查询结果客户端显示是否正确。
3)其它涉及业务操作的功能界面
主要针对客户端界面的录入、查询等功能进行测试,客户端测试还会对界面的友好性、提示信息的合理性等进行测试
4. 接口测试
对于金融行业来说,经常有对接需求,以及各系统间互相调用等场景,本公司和合作方公司采用的数据库、通讯协议等都可能存在差异,并且在公司内也有业务系统、审批、风控等不同的系统,并且各个系统之间可能关联特别紧密,存在许多交互;因此,在测试中会涉及到相关系统接口的测试,这时通常需要构造对接系统的测试环境、数据 、业务等来模拟对接系统
5. 性能测试
性能测试的目的主要是验证业务系统是否满足业务需求的多用户并发操作,是否满足业务性能需求,评估压力解除后的自恢复能力,测试系统性能极限,随着金融行业软件的规模越来越大、处理能力要求越来越高,进行性能测试成为金融软件测试中必不可少的一个环节
6. 安全性测试
安全性测试的目的是评估业务系统在网络安全、运用安全,数据安全、业务连续性等方面的能力,评估系统的安全管理水平,尤其对于网络日益发达的今天,大量的金融类交易都是通过网络来实现,确保信息的安全,对安全性测试提出了更高的要求
四、金融行业软件测试的现状
根据某项调查,金融企业应用系统的数量,中小银行应用系统数量普遍在100个左右,有一半银行超过100个应用系统;虽然保险行业应用系统数量相对较少,但大部分保险公司拥有10―50个应用系统;而且这些数量还有进一步上涨的趋势。调查数据也表明,金融行业IT部门的测试能力目前远远低于金融机构对测试的要求。即使是IT成熟度比较高的企业,也难以覆盖所有应用系统的测试需求。金融企业的测试需要和信息科技部门的测试能力之间存在一定的差距
五、金融行业软件测试面试题
1、网上银行转账是怎么测的,设计一下测试用例
2、测试工作的流程?缺陷状态有什么?设计测试用例有几种方法?
3、在项目中找到的经典BUG是什么?
4、定期存款到期自动转存该怎么测?
5、你发现Bug后,应该怎么办?
6、假如发现了一个BUG,跟开发本身没什么关系,涉及到理念,需求问题,如何解决?
7、功能测试的BUG级别你们怎么划分?
8、执行别人的用例,如果发现用例有错怎么处理?
9、你们做过冒烟侧吗?冒烟测试是什么(理论)?
10、你们项目做了多久,共写了多少用例?项目多少人?
11、假如要你测试6个月期限的p2p借款产品,你应该怎么设计案例,说出测试点
12、你们这个P2P上线了吗?能查吗?项目花了多久时间,预计多久完成?
13、实名认证你们是怎么测得?调取什么平台的资料?
14、注册需要实名认证吗?
15、P2P你们也测试后台管理吗?个人芝麻信用积分是调取哪里的资料?
16、如果要测试后台删除用户,就是用户名后面一个删除按钮的情况,能写出哪些测试用例
17、如果京东有一个购物网页给你,你要怎么进行测试?测试哪些主要功能?
18、P2P功能测试你们一般做几轮?
19、你们每次开会讨论的时候十几个开发都去开会了吗?
20、熟悉数据库吗?平时数据库用的多吗?
21、平时数据库用的多吗?
22、1inux查看文件用什么命令,查看进程用什么命令?
23、你们测试用的测试环境是谁给的?1inux怎么搭建测试环境?
24、如果领导分配你的任条超出负荷,领导高估了你的能力,怎么办
25.、如果因为你的错误导致工作发生问题,你怎么办?
26、给你一个模块测试,只有一个星期的时间你如何有效率地完成?
27、如果给你一个没有需求的app测试项目,你应该怎么测
28、如果你和开发的意见产生分歧,你怎么处理?
29、如果你组长的用例写错了,但他认为是对的,你怎么处理?
30、你同时负责功能和性能,你怎么做?
31、我们公司自动化测试用的语言是Java,预的与你会,骇怎 精无水印
32、以前的项目是怎么管理的?
33、以前的项目每天需要执行多少用例
34、你们做回归测试的时候是否全部都做呢?
35、你们怎么确保用例覆盖率?确保不重复?
36、你们案例是怎么评审的。
37、视图是什么?
38、数据库查找两个表
39、工作非常努力了,还是没有完成上级交代的任务,怎么办?
需要面试题答案的朋友可以私信我关键词“面试”免费获取哟
六、总结
金融行业的软件测试门槛高,除了要懂软件测试知识之外,对你业务能力,银行金融知识都有要求,想去银行类的地方做软件测试的朋友们还要加油哟
现在我邀请你进入我们的软件测试学习交流群:【746506216
】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!