金融测试
前端:执行页面级测试用例,验证应用层基本功能,能是否和需求一致,页面风格是否一致等。
后端:通过测试页面,录入测试用例,比对结果,确认金融底层的正确性。
特点:
1.系统之间关联性强、业务复杂、需求变化快等,需要熟悉金融产品的核心逻辑
2.金融软件的测试算法是测试的核心,验证测试数字在不同的场合条件下,一定要保证数据的准确性。
3.帐务处理逻辑必须准确,不能错一分钱
金融行业软件测试与其它应用软件测试流程基本一致,要保证业务的逻辑要正确无误
面对人群:面向人群较多,场景较多
1、金融行业软件测试所包含的范围:
功能测试:*****
1.偏向用户性的测试类似UI
2.交互逻辑检查
(1)业务流转是否正确,接口调用逻辑是否正确等测试层面
(2)各个业务之间的冲突,敏感信息是否加密 *****
(3)用户提交资料后,涉及审批制。审批流程机制是否健全,如节点回滚等。
3.页面之间的数据读取
4.通用类测试:流量测试、电量测试、弱网络测试、环境干扰测试等。
主要以功能为主,其余测试优先级较低
接口测试:
数据移植测试:
性能测试:
安全性测试:
1.敏感数据本地可破解
2.用户权限有严格限制
3.网络传输
风险监控测试:
自动化测试 :
支付类测试点:
1.支付订单,重复回调
2.支付设置断点,修改金额
3.退货流程
4.发货失败时发起退货
5.时间和次数机制
网络扫描和嗅探工具——nmap
开放源代码的网络探测和安全审核工具
金融类产品从业务性、功能性和稳定性、合规性、易用性、安全性几个方面
业务性:价值
要明确项目的目标和范围有以下几点:
-
基于产品业务背景下的理解。该产品在所属行业背景下的哪条业务领域中,该业务领域的市场现状及通用解决方案是什么,产品设计中的每个功能流程分别代表着哪种业务场景。
-
需求范围边界的澄清。哪些做?哪些不做?相关依赖系统有哪些?
-
测试后台管理:
1 后台也测,但是我主要测试前台,我的关注点是前台,后台只是拿来用,能配合前台正常走完流程就行。
2 后台主要对前台进行管理,主要有贷款管理,资金管理。
贷款管理:可以查看投资人的投资情况,也可以查看借款人的借款产品,对借款产品进行管理。比如审批,每期的还款提醒,预警等。
资金管理:管理查看用户的充值,审批用户的提现过程。
芝麻信用积分:调用的是支付宝的接口,芝麻信用:调用的是支付宝那边的接口(支付宝提供这样的芝麻信用服务,每查一次收取大概0.1元)
五、总结:
金融软件测试与其他软件测试有不同的之处,如下:
第一:金融软件的测试算法是测试的核心,验证测试数字在不同的场合条件下,一定要保证数据的准确性。
第二:与外部存管银行的各种接口数据的准确,稳定,安全。
第三:金融软件在整个业务过程中涉及到很多合同相关的内容的测试,合同上甚至连一个文字,一个空格都要测试到。
第四:运营报表,整个数据是给老板看的一定要保持计算和统计数据的准确性。
第五:和其他软件测试流程一样,保证业务的逻辑要正确无误。
①金融软件的测试算法是测试的核心,验证测试数字再不同场合条件下,一定要保证数据的准确性。
②与外部存管/托管银行的各种接口,数据的准确,稳定,安全。
③金融软件在整个业务过程中涉及到很多合同相关的内容,合同上的一个字一个空格都要测试到。
④运营报表,整个数据是给老板看的一定要保持计算和统计数据的准确性。
⑤和其他软件测试流程一样,单元测试,集成测试,确认测试,系统测试,验收测试, 保证业务逻辑准确无误。
- 测试统计报表要如何测试?目前我是自己写sql,生成一份报表,与开发产品进行比对
- 测试数据如何模拟生成?因为如果直接导入线上数据库,会对原有测试数据造成覆盖,目前我都是自己手动创建一些测试数据,效率非常低,再比如我要测试还款流程,需要重新创建标的,审核,上架,投资和放款来创建数据,感觉很费时间,如何优化?
- 执行测试用例的时候(比如:投资、放款、还款等)是否要关注数据库传值是否正确?目前我每个操作都检查数据库数据,感觉也比较浪费时间
- 测试互联网金融需要进行线上测试吗?目前公司为了保密信息,不给测试人员线上账户,导致线上测试无法进行,怎么处理?
- 互联网金融客服问题如何处理?由于保密信息,客服也是基本没有查询权限,就会把解答客户问题工作直接转给测试处理,不知道别人的公司是怎样的流程?
- 想知道别人家的互联网金融公司实现了哪些功能的自动化处理?线上监控怎么做的?
第一个问题现在的测试方法也是可以的 本质上报表是读取接口 接口再读数据库 所以你绕过数据库直接模拟接口也可以做到
不过加上数据库也是可以的。报表功能是黑盒,输入是外部的数据 输出是报表里面的各个字段信息 想高效的测试,你第一步是用脚本简单的自动化,比如实现把你的测试数据分门别类的放好 然后用命令自动保存到数据库 再用脚本分析报表里面的各类数据 进行人工或者算法验证
第二个问题本质就是自动化 你自动化后就会很快 很多公司这类的操作都是自动化的
导入线上数据也可以 你得懂数据库 知道数据库如何备份 导入 导出 你可以实现把线上数据导入后测试完再导入测试数据
对于目前来说 你先完成自动化就能解决问题了 后面的数据管理可能会因为各种关联数据导致不能简单的导入导出 建议你先自动化测试数据创建
第三个问题的逻辑是 把产品当黑盒 输入和输出是正确的 就可以不用验证数据库
验证数据库相当于在已有的验证外多加了一层保证 是有好处的 能更好的保证质量和测试效果第四个问题属于责任问题 公司不提供线上测试资源 那么测试环境通过 线上却出问题的锅 可以让其他人背
能做线上保证最好 但是以你现在的测试环境尚不能很好的把控 我觉得先做好测试环境的测试工作再考虑线上吧 等你经验多了 自然会有更高的追求
第五个是问题解决流程问题 一个issue应该如何追踪和管理 客服不能解决业务外的技术bug 最后肯定是要流转到研发或者作运维去解决 如果测试可以解决就跟进 相当于多了一个责任 如果问题总是依赖线上环境而你们qa又没权限 则可以申请让客服直接转给研发
个人建议因为用户反馈也能发现不少质量问题 测试同学还是应该多关注参考
第六个问题 金融行业的质量保证也是参差不齐 不过正规的厂商都做过了大量的自动化工作 接口测试居多 ui较少 以及一些脚本自动化 还有一大部分是研发和运维做的各种监控 监控平台也很多 功能各异 我就不细说了