一、目标:
深入了解系统
- 督促测试人员对系统进行深入了解,不仅仅停留在功能层面,这样才能更好的定位bug,发现bug。
加快项目进度
快速找到bug原因,迅速解决
减少沟通成本
二、CASE:
搜索
-
店铺内有商品,但店铺首页不展示
1.查看接口返回,是否有数据。如果有数据,就是前端bug,若没有数据进入 2
2.通过数据源查找是否有数据,搜索引擎查询,如果有数据则是业务调用方传参不正确,若没有数据则是搜索引擎问题。
3.找到对应的开发解决,可以快速处理bug
APP
- 口袋购物咨询无法留言
1.charles 查看请求,是否符合规范
2.查看接口返回错误信息
3.查看服务端日志,找出具体出错log
服务端log
- bug下单失败
1.登录服务端查看日志,详细操作
2.根据日志分析,错误原因
web
- 登录成功后访问被测试页面,提示用户登录失效
1.登录成功,查看本地cookie存储的信息是否正确,userID,nick等
2.进入被测试页,查看网络请求,查找报错请求。例如:
3.查看入参是否正确,如果入参正确,肯定getinfo接口问题。
环境问题
- 小程序无法登录
1.搞清楚小程序登录的依赖关系 小程序->commonserver->passport
2.查看登录接口是有有返回登录信息,如果返回正确是就小程序客户端问题
3.查看commonserver报错日志,如果依赖Http接口返回4xx,5xx那就是passport接口问题
4.找到责任人解决问题
- 通过环境的合理规划可以规避很多环境问题:
1.项目环境 项目组自己使用的环境,不会影响其他应用
2.日常环境 公共的测试环境,必须保持稳定,完成大部分测试工作。
3.预发环境 为校验数据与配置产生的环境,执行测试场景受限。
4.线上环境 生产环境
三、工具
Charles
自主开发小工具
四、方法论:
过程数据校验
- 问题定位最核心方法是中间数据的校验,通过校验中间数据是否符合约定,判断是前后端的问题。
排除法
- 无法拿到中间数据时,使用排他法证明系统错误。上面搜索就是一个很好的例子,通过证明引擎没有错,间接证明是调用方错误。
五、特别说明:
希望大家在平时的测试工作中有bug定位的思考,而不是把自己简单的作为bug发现者。
bug定位秉承效率优先的原则,定位bug为了快速找到原因、解决人,加快沟通效率。不追求必须定位到代码行的能力,能够提升效率目标已经达成。