作为一道面试题,它算高频了么?我面试别人问过挺多次,我也被面试官问过...
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*
大概率后端问题,也可能前端问题
前端,后端都没有做数据校验——都有问题