目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、银行系统线上因性能瓶颈出现崩溃问题怎么办?
某银行系统由于新上线的后台对账项目突然出现崩溃,系统处于停用状态,最后查明系统可能存在性能瓶颈,你作为此项目的主要测试负责人,面对突如其来的事件,该如何处理?
银行系统线上因性能瓶颈出现崩溃问题怎么办?
如果我是这个项目的主要测试负责人,面对这种情况,会采取以下步骤来处理:
1)紧急应对
立即通知相关团队和管理层,启动应急预案。确保及时通知客户,并告知他们预计的解决时间。先恢复环境,确保客户能使用。同时收集相关日志,log,现场表现等帮助开发人员解决问题。
2)问题排查
与开发团队和技术支持人员合作,迅速排查系统崩溃的原因。检查系统日志、监控数据和错误报告,确定是否存在性能瓶颈或其他问题。
3)数据恢复
如果可能,尝试恢复最近的备份数据,以减少数据丢失和业务影响。
4)性能测试
对系统进行性能测试,评估是否存在性能瓶颈。分析系统资源使用情况、数据库性能、网络连接等方面,找出可能影响系统性能的因素。
5)优化改进
根据排查结果,与开发团队一起制定并实施优化措施,可能包括代码优化、数据库调整、服务器配置改进等,以提高系统的稳定性和性能。
6)测试验证
对优化后的系统进行全面测试,确保问题得到解决,并且系统的性能和稳定性得到提升。
7)沟通协调
保持与相关团队和利益相关者的及时沟通,提供进展更新和解决方案。协调各方资源,确保问题的解决过程顺利进行。
8)事后总结
事件解决后,进行深入的总结和反思。分析问题的根本原因,总结经验教训,制定防止类似问题再次发生的措施,并对相关流程和文档进行更新。
在处理这样的突发事件时,关键是保持冷静,迅速行动,并与团队协作解决问题,以最小化对业务的影响。
2、关于支付类的一些测试关注点及异常点
对于市场上的支付系统,其实原理大同小异。市场上大多数软件系统涉及到支付功能,都会与第三方支付系统交互,跳转到相应的支付系统实现其支付功能。
开展这类型测试之前,需要考虑哪些因素:
1)了解第三方支付接口有哪些,系统直接交互如何实现,建议画流程图,重复熟悉系统实现流程,只有搞清楚流程,才能更好的评估其中的风险,才能有利于测试用例的设计;
2)除了主要功能之外,还需要考虑异常场景有哪些;
3)有哪些风险?如何规避?
针对测试过程中涉及到主要的测试点整理如下:
测试过程中需要注意的主要测试点及异常场景:
首先要保证接口都能正常调用;
生成一笔订单,支付完成后,同步或异步重复回调,只有一次有效;
生成一笔订单,复制订单号和金额,再次生成一笔订单,用fiddler设置断点,用第一笔已完成的订单号和订单金额去替换现有的订单号和金额,无法完成支付;
生成一笔订单,跳转到第三方时修改金额,无法到账,或者如果是游戏充值游戏币的话,到账为篡改后的金额对应的游戏币;
异步通知屏蔽,同步有效,进行支付,同步能够正常到账;
同步设置无效,异步有效,进行支付,异步能够正常到账;
同步异步都设置无效,在第三方支付完成后,在重发机制时间范围内,设置异步有效,到下次通知时间点时,能够正常通知到账(补单机制的验证,如果商户收到第三方支付成功的通知后,要告知第三方支付收到了成功的通知,如果第三方支付收到商户应答不是ok或超时,第三方支付就会认为通知失败,会在规定的时间内持续调用notify_url,一般有时间或次数的限制);
针对支付订单在数据库中存储是否完整和正确进行校验(比如:第三方订单号–方便与第三方对账和问题排查、订单金额、订单状态等);
如果是用户购买实物商品,用户发起退货,要保证退货流程正常,资金能正常返还,要考虑下并发情况的验证以确保安全性;
如果是用户购买虚拟商品,比如话费、油卡之类的商品,只有在发货失败的时候才能发起退货,注意验证;
遇到过的坑:
用户购买100元游戏币时,前往第三方支付跳转进行金额的篡改由100元改成0.01元,结果就拿了0.01元充值了100元的游戏币。对订单金额没有做校验导致这样的后果,损失比较大。大家在测试的过程中一定要注意对服务端进行校验,支付时数据的篡改一定要有校验。
当同步、异步通知都存在的情况的,异步通知(第三方支付成功后台通知),没有到账,导致部分用户充值不到账,引起客诉。当同步、异步并存的时候,一定要分别对同步和异步进行检验,确保都能正常到账。
我们所做的绝大多少的互联网产品都会涉及到第三方支付,所以支付功能必然是重要的,作为测试互联网产品的一员,我们必须要做好支付的安全性。
那么,如何规避支付风险?
为了进一步的加强支付功能的安全,也可以适当的增加一些监控机制。
比如:订单与第三方订单进行对比,可以使用跑批完成,当我们完成支付的订单从数据库中查出来与通过第三方订单查询接口查询出来的同一个订单金额有异常时,进行报警通知能够及时发现处理,甚至当有异常情况进行创建订单的终止,从而把损失降到最低。
下面是我整理的2024年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
追逐梦想的路途上,无需畏惧困难和挑战,持之以恒的努力和不懈的追求是成就伟业的基石,让每一天都充满希望和活力。
尽管路途曲折,心怀坚定信念,勇往直前,汗水浇灌未来,努力奋斗,终将迎来辉煌的人生。
即使黑暗笼罩,也要燃起内心之光,勇敢前行;每一份努力,都是改变命运的种子,坚持不懈,终将绽放出辉煌的果实。