bug定位即有足够的“证据”去证实DOV(开发人员)的代码存在问题,不是单凭本身认为是bug就是bug,最好能够定位到DOV的某行代码,某个函数的问题,最好保留日志截图而且能够保证重现。前端
定位顺序:UI --> 中间件 --> 后台 -->代码 -->databaseweb
一.web前端的bug分析定位。跨域
- 测试内容:页面布局、用户功能、易用性、兼容性
- 测试方法:模拟用户输入,在浏览器页面上进行输入、点 击等行为
- 定位以前须要思考的问题:是不是浏览器设置问题?是不是浏览器cache的问题? 在其余浏览器上是否可复现? 用其余数据是否能够复现? 是不是cookie相关的问题? 是否正确发出了请求? 是否获得了正确的应答? 是不是网络缘由? 是不是跨域问题? 是不是程序版本的问题?
- 常见bug:浏览器兼容性,浏览器按钮操做,字符编码,页面跳转,跨域,性能
二.后台的bug分析定位浏览器
- 测试内容:逻辑流、数据流、策略、接口、性能
- 测试方法:输入条件构造,网络通讯包(驱动、桩、真实的上下游模块),数据文件,配置文件(包括词表,黑白名单等),共享内存,输出检查,网络通讯包,数据文件,日志(尤为是异常日志),监控:系统监控:cpu、句柄、IO、内存模块级监控:内存结构体信息,调试DEBUG,JPDA打断点
- 常见bug:自顶向下排查(从系统入口模块开始),是内部逻辑问题仍是下游数据问题?是不是某些配置下发生的问题?日志中是否发现线索?系统资源状况中是否发现线索?是不是边界值、并发等问题?下游模块是否交互正常?是不是多线程下的问题?是不是大压力下的问题?是不是不一样模块间接口的定义不一致?是否和服务器软件版本及设置有关?自底向上排查(从系统末端模块开始),最底层的模块是否正常收到了请求?是内部逻辑问题仍是上游请求问题