如下总结以web测试为例,其余类型测试可参考。前端
相信有很多人测试在发现bug以后,立马给开发提了bug,不多去排查bug产生的缘由。web
在开发准备修复bug的时候,发现测试提的“bug”描述不清,不知道如何复现,只能本身琢磨或者叫QA来演示一遍,最尴尬的是,可能在测试演示完以后,才发现这个并不是bug,而是因为QA的不规范致使的。这样就会引发开发的不满,以为测试在浪费他们的时间。后端
因此在咱们发现问题的时候,首先要作的第一件事就是须要确认一下是不是咱们自己测试的不规范致使的。若不肯定,可再尝试进行复现。bug描述必定要写具体,不然不只浪费开发的时间,也会浪费本身的时间。缓存
说明bug要么开局一张图,要么一句话,开发复现bug全靠蒙。服务器
开发:markdown
正确姿式: 问题应该有详情的描述,图文并茂,场景说明,以及bug出现的流程,对应帐号密码等。app
bug瞎指派。前端的bug指给后端,后端的bug指给前端。测试
开发:ui
正确姿式: 分析错误产生的缘由,分析是前端仍是后端产生的bug,123砸过去😌url
老是测一些生产环境中根本不可能存在的状况。甚至有些需求就是如此设计,无论三七二十一直接提bug。 开发:
正确姿式: 先把需求理清楚,设计用例的时候,把一些实际不可能发生的事情剔除掉。
步入今天的正题,来,跟着我,从个人世界走一走。
响应码。可根据返回的响应码去定位问题。须要你们熟悉这些响应码。
分类 | 分类描述 |
---|---|
1** | 信息,服务器收到请求,须要请求者继续执行操做 |
2** | 成功,操做被成功接收并处理 |
3** | 重定向,须要进一步的操做以完成请求 |
4** | 客户端错误,请求包含语法错误或没法完成请求 |
5** | 服务器错误,服务器在处理请求的过程当中发生了错误 |
响应头。通常后端返回的错误信息会放在响应头中,若是大家不会将错误信息放在响应头的话,可忽略这个。
响应体。若是请求报错的话,接口通常会返回错误信息以及错误码,可经过这些去定位问题。在源代码中输入错误信息定位报错的具体位置(全局搜索),再根据先后调用去分析具体缘由。
从日志入手的话,那么就须要学会在哗啦哗啦的日志中寻找具体且有用的关键信息,相信大部分同窗都用过grep这个命令,相比awk,sed而言,这个命令使用起来更简单,足够知足咱们的需求了。推荐grep的几个经常使用参数:
-a<显示行数> | -a10:处理显示符合结果的那一行外,还显示该行以后的20行 |
---|---|
-b<显示行数> | -b10:处理显示符合结果的那一行外,还显示该行以前的20行 |
-c<显示行数> | -c10:处理显示符合结果的那一行外,还显示该行以前以及以后的20行 |
-v “” | -v "INFO" 反向匹配。就是匹配到的都不显示,只显示不含有INFO的行。 |
-i/--ignore-case | 忽略字符的大小写 |
-e | grep -ev "info" -e "error" info.log :至关于or,查看info.log不包含info的行但包含error的行。 |
-c | 统计匹配的行数 |
-E | 正则匹配。使用这个须要了解正则匹配规则。 |
找到报错信息以后,在源代码中使用全局搜索,找到报错的具体位置,分析报错的具体缘由。