作为一道面试题,它算高频了么?我面试别人问过挺多次,我也被面试官问过...
1、前后端bug有各自的一些特点:
- 前端bug特性:界面相关,布局相关,兼容性相关,交互相关。
- 后端bug特性:数据相关,安全性相关,逻辑性相关,性能相关。
2、定位BUG属于前端还是后端,我常用的2种方法:
(1)接口查看法:查看接口请求参数和响应结果。
-
如果请求没发出或参数不正确,为前端的bug
-
如果请求url和传参都正确,响应数据不正确或者没有响应,为后端bug
-
后端返回了响应也是正确的,但是前端没有正确显示,一般就是前端问题
(2)日志查看法:查看后端服务日志有无,以及错误日志信息。
还有一些常见的前端问题,也可以在浏览器控制台输入js代码调试进行分析
如果定位为后端的bug,可以进一步通过以下方法精确定位是哪里出bug
-
查看报错日志,通过日志分析问题点
-
查看数据库确认数据的正确性
-
查看缓存是否正确
3、如果进行接口测试,发现的bug,很大概率是后端的bug
根据返回的状态码:
-
返回200
-
查询数据类型的接口,返回的数据和数据库的数据是否匹配------不匹配就是开发的sql写错了
-
操作功能型的接口,比如新增,修改,删除等,返回的结果不正确------逻辑错误
-
输入的数据不符合要求,但是操作成功了------数据校验问题:长度,类型,等价类/边界值
-
-
40*(404/405)请求的问题,我们接口请求操作的问题,不是bug
-
404: 大部分是URL 不正确
-
405 大部分是 传输的方式不正确,把get改为post或者post改成get
-
-
50* 一般就是服务端代码bug ------查日志
4、如果手动功能测试
-
查看有没有调用接口,没有------前端bu
-
有调用接口,看状态码
-
200:看返回的数据
-
返回数据不正确------后端bug
-
请求的数据不正确------前端bug
-
数据检验的问题
-
代码报错-控制台console查看
-
点击按钮无反应
-
前端没有按正确格式加载数据
-
-
-
400,404,405
- 前端操作接口有误,没有按照要求调用接口
-
50*
-
大概率后端问题,也可能前端问题
- 前端,后端都没有做数据校验------都有问题
-
-