为什么定位问题如此重要?
- 可以明确一个问题是不是真的“bug”
很多时候,我们找到了问题的原因,结果发现这根本不是bug。原因明确,误报就会降低 - 多个系统交互,可以明确指出是哪个系统的缺陷,防止“踢皮球”,提高问题解决的效率
- 增强开发对测试的信任度,沟通更有效,配合的更好,开发修改bug时效增强
- 更有效的了解系统的内部逻辑、数据流处理流程,更能提高测试人员的水平,缺陷修复后,影响的测试范围评估更精准,复测更准确
- 可以降低缺陷率
这个可以说是最重要的。在bug系统中,会要求开发人员记录bug产生的原因。只有我们自己对bug有一个较全面的认识,才会判别出开发写的是不是真正的原因,也才能有助于我们后续对bug进行分析归类,根据bug分析,有针对性地未雨绸缪,进而提升产品质量,降低缺陷
01、定位原因之前
遇到问题时,先别急着去定位原因。
1、保存bug产生的记录:
首要做的是保存bug产生的记录,保证可以复现。
为什么要保存记录?因为如果以后不能复现,那就不能证明bug的存在。
2、排除低级问题:
然后是排除QA的低级问题,常见的低级问题:
- 【hosts不对】
hosts文件主要是加快某个域名或者网站的解析速度,从而达到快速访问的作用,也可以屏蔽网站。hosts异常可能会导致部分网页无法访问,能够加载,但是网页无法正常显示。 - 【网络不通】:抓包、ping
- 工具的影响导致的,例如fiddler
- 以及操作姿势不正确等。
3、排除数据问题(脏数据):
有时候会遇到服务端报500错误,查看日志后,报空指针,那么很有可能就是数据库中关联表的数据被人为删掉导致的。
- 脏数据:从目标中取出的数据已经过期、错误或者没有意义,这种数据就叫做脏数据
- 脏读:读取出来脏数据就叫脏读
02、定位问题的思路
排查顺序:
用户环境层面 -> 展示层面 -> 逻辑控制层面 -> 服务层面 -> 数据库层面