培训目的
- 提升测试自身能力
ps:在定位BUG的过程中,可以更熟悉数据是如何存储,业务如何流转,接口如何定义,如何传参!
- 提升测试认可感
ps:希望测试发现问题后,不是直接把问题抛给开发,让开发去查原因,而是尽量能测试自己初步定位到问题的原因,再反馈给开发,告诉他,出了什么BUG,估计是什么原因引起的,这样的场景测试是否很有满足感?也让开发更认可测试,更让开发相信测试不是来找麻烦的,而是来帮助开发的!
关于前端、后台、数据库之间的关系
前端将数据传输到后台,后台则与数据库直接关联,这样前端的数据即可通过后台传输到数据库;前端请求数据时,将请求发送到后台,后台再从数据库中调取数据传输到前端。
工作中常见BUG的系统
- web端BUG:分前端页面和后端接口
ps:web端-前端页面即页面上的所有显示,需要前端开发页面,包括页面操作交互,或者简单的字段长度校验,也是前端可以做的。
web端-后端接口,页面数据的保存也是通过后端接口存储至数据库,前端页面的动态数据展示是通过后端接口获取显示。
- app/h5/小程序端BUG:分前端页面和后端接口
ps:和web一样,app/h5/小程序端也可以理解为前端,但app上的数据显示是通过后端接口调用存储及显示的。
综上:理解了什么是前端,什么是后台,以及数据库的存储,结合工作中常接触的系统,可帮助我们定位BUG,是发生在前端页面呢?还是后端处理错误?还是数据库存储就错了?
常用于BUG定位的工具和参考文档
- web端
- 浏览器的控制台F12
- 抓包工具Charles或Fiddle
- 查看服务器:见最下方
- 结合数据库:是否字段存储错误,是否接口返值取数据库字段错误?
- 结合接口文档:是否传参错误?
- app/h5/小程序端
- 抓包工具Charles或Fiddle
- 性能工具jmeter
- 查看服务器:见最下方
- 结合数据库:是否字段存储错误,是否接口返值取数据库字段错误?
- 结合接口文档:是否传参错误?
BUG定位实例
- 字段显示不正确
验证步骤:a.验证数据库,先确认数据库存储的时候是否正确?(这一步一般是保存数据的时候验证)正确
b.结合接口文档或经验,F12看响应数据,看返回的参数和值是否正确?有可能返回的时候取错数据库字段,把券后价和优惠券的字段值弄反了? 正确
c.接口也没返错,那有可能就是前端弄错参数了,把券后价和优惠券两个字段写反了。
- 页面直接抛出异常
a.4开头异常:F12,有可能是传参问题
b.5开头异常:F12以及看后台服务器日志报错
charles抓包
总结三步骤:1.F12或抓包工具检查传参和返回-à2.数据库数据库数据库,看数据库存储是否有误?-à3.查看后台服务器日志
问题附件
1.为什么要查看服务器日志?
答:有些错误并未抛到前台显示,但常见错误会在服务器日志上打出报错信息。
2.如何查看服务器日志?
常用查看服务器命令
cd /data/tomcat7-agent-0.1/logs 进入日志目录
tail -f catalina.out 运行实时日志
tail -1000f catalina.out 查看最近的1000条日志