成功日记(1/365)
每天一篇成功日记,和你一起成长。
今年测试同事发现个问题,评论偶现不能出现底部输入框,只有一台手机上出现了,没有找到必现路径。
一、如何定位问题?
起初不能其他设备复现。
1.1 从开发层面 如何定位问题?(模糊定位)
开发人员先从代码层面来分析:
这次相关代码改动:由于业务要求进入页面后会先隐藏输入框,等接口返回后在显示输入框。
可能影响的代码逻辑:是什么导致后面的输入框显示逻辑没有调用?
看逻辑 可以通过服务端接口来控制输入框的显示和隐藏,此处存在可能性,通过切换网络,更换设备 排除了这种可能性。
还有什么会导致不调用显示逻辑?不得其所。。。
1.2 从测试层面 如何定位问题?(场景分析定位)
是新问题还是旧问题?
如何触发的(如何复现)?
重新安装了app,发现出现问题的手机也正常了。
操作轨迹:哪首歌曲的评论?做了什么操作?
---》发现和广告有关系!当点击不看广告后,再次进入评论就会必现【发现问题的是否重要】
那么是新问题还是旧问题?
在上一个版本上进行同样的操作,正常。
1.3 接下来开发人员进行断点定位分析(精准定位)
通过断点和代码跟踪,发现是一个异常(这个异常被Catch住,不会导致系统崩溃)导致后续逻辑无法走到。
二、如何解决问题?
找到这个异常的地方基本问题就已经解决了。处理下这种异常就可以了。
这个问题属于恢复原状类型的问题,解决方案有多种: 1. 紧急处理 2. 根本解决 3.防止复发
起初由于发版时间临近,又没有找到复现场景,通过模糊定位也没有突破,想到先把输入框先隐藏的逻辑去掉的 紧急处理方案。
随着测试人员发现场景(这个环节十分重要),才进一步找到根本原因和解决方案。
-
为什么和广告有关?
出现异常的地方是相关问答的位置?和不看广告有什么关系? -
为什么线上没有这个问题?
新的需求修改,把输入框先隐藏了。
虽然线上没有输入框问题,由于问题源存在,所以也会有其他问题
三、反思
3.1. 如何引发这个问题的?
直接触发点:新的需求的改动。原有业务的坑,但不容易暴露。
根本触发点:使用新技术时,看到别人怎么使用,就依葫芦画瓢,没有了解原理和流程,断章取义埋下坑。
3.2. 如何定位分析的?
大胆猜测,小心验证。
模糊定位,场景定位,精准分析
按正常逻辑是不会有问题,出现问题的情况是,出现了异常,但是被catch住没有崩溃,但是为其他问题埋下隐患。
当我们在定位分析问题时,如果常规路径都分析了没什么问题,不妨从异常的角度进行思维。什么会导致异常,导致后续逻辑不会走到。
3.3. 如何避免类似问题?
规范,新技术的使用都是依葫芦画瓢而自己没有从原理上或者使用流程上进行了解和掌握。
用一个东西要它能做什么,输入什么,输出什么。流程是怎么样,原理是什么。
网友评论