一. 定位问题
- 界面问题:图标错误、文字错误、样式错误等
- 功能问题:数据库错误、服务端错误、客户端错误
- 数据库问题:服务端接口传值问题、sql建表问题,例如缺少某个字段,或者字段值为空
- 服务端问题:哪个接口出的问题,或者什么业务逻辑处理的不对,从而导致数据库哪里不对或导致返回给前端的数据不对
- 客户端问题:什么业务逻辑处理的不对或具体哪个字段对接有问题,例如与接口对接时字段取值错误,与服务端定义的需要前端自己处理逻辑的业务处理出错等
二. 如何分析BUG
-
数据库层面:
缺少某个字段,或者字段值为空等等,调用数据库错误的数据产生BUG,修改数据库字段值,查找BUG -
网络层面
手机网络信号不好,网络不稳定,导致JS/CSS未加载完全或者请求超时等 -
代码层面
1.请求未返回数据,可能是客户端请求数据错误,也可能是服务端处理错误
2.请求返回错误的数据,那就是服务端错误
如何区分前后端BUG问题
- 前端侧重于页面设计,后端侧重于服务开发;
- 前端的BUG通常是功能、界面、兼容性等有关;
- 后端BUG与逻辑、性能、安全性有关;数据相关错误、排序问题大多数都是后端问题(后端返回数据)
抓包获取请求接口、传参、响应判断
- 请求接口URL是否正确
请求接口URL不正确,为前端BUG - HTTP请求中的参数是否正确
请求参数不正确,为前端BUG - 接口URL和参数都正确,查看响应内容是否正确
响应结果不正确,为后端BUG - 根据接口的文件,检查数据是否正确
- 后端接口返回的数据不符合需求
- 前端没有请求接口
如何精准的定位后端BUG并且描述BUG
- 编码问题:UTF-8
- 空指针:没有考虑到为空的情况,或者删除关联数据导致为空
- 长度过长:超过最大长度,修改数据库字段长度生产环境未修改会报错
- 非法数据:特殊字符,符号未做处理
如果查看日志
- cd usr/local/测试服务器名称/logs//查看先进入到服务器的logs目录下
- tail -f catalina.out//监视catalina.out 文件的尾部内容(默认10行)