一、定位问题的重要性
- 可以明确一个问题是不是真的“bug”
- 可以明确的指给某个开发
- 可以准确的描述问题
- 可以提高bug的修复速度
- 可以提升开发对测试的信任度
- 可以更深入的理解产品逻辑,清晰数据流的走向;反过来又会促进对问题的定位能力。
- 可以提高问题的修复率
- 可以降低缺陷率,对bug进行分析归类,未雨绸缪,提升产品质量
二、定位问题的总思路
三、遇到问题后怎么办?初步定位
- 保存现场:截图、录屏、抓log、抓包
- 排查基础条件:版本是否正确、环境是否正确、操作是否正确、确认代码是否merge/部署、配置开关是否设置正确
- 进行对比:Android-iOS对比、新-旧版本对比、新-旧操作系统对比
四、怎么具体分析?准确定位
- 了解功能所涉及到的UI、逻辑、数据是由哪些相关方开发的:比如WEB、H5、客户端、后端
- 与开发沟通了解实现逻辑:请求时机、缓存逻辑、判断逻辑
- 排查需求文档:需求是否定义清晰、需求是否合理、需求文档是否有错误
- 查看设计稿:设计稿是否合理、设计稿是否错误
- 排查请求:是否发送成功、请求URL是否正确、传参是否正确
- 排查响应:是否收到请求、是否返回成功、响应内容是否正确、缓存是否正确、数据库是否正确
- 开发提供可测性支持:比如让开发打印出完整的log、修改配置开关
- 自己无法确定的问题、无法定位的问题,交给产品经理或开发,不要死磕,浪费时间
五、定位到问题后还需要做什么?
- 再次与开发沟通确认问题,弄清楚问题是否只出现在这1个地方?比如一个封装的组件,待测系统中可能有很多地方用到这个公共组件,是否会影响到其他地方
- 可以给开发提供一些修复建议
以上是经验总结,并非标准,bug千差万别,有时候需要区别对待,按照情况(严重问题、时间问题)灵活处理。建立自己的知识库,多思考、多积累、多总结。