如何分辨一个 bug 属于前端还是后端问题????????
以是否属于接口返回数据正确性来划分
看前端控制台日志,看接口,看后端日志,看数据库
看日志是一方面,但是有些时候还要结合接口文档或者咨询开发才能确认,比如后端日志报错并不是后端有问题,也有可能是前端参数值传的不对
注册 boss 直聘,它会给你推送这些问题,你会获得答案
那么如何凭借经验分辨呢
有时候会遇到这种情况,一个参数在 swagger 上备注是用户 id,前端传系统用户 id。
提测后,测试发现参数字段是对的,但是功能就是不正常,然后 bug 提交给后端。
后端一看 bug,直接指派给前端,备注说请传普通用户 id。
前端改代码,提交发版,验证功能正常。这 bug 谁来点解决?
最好是抓包,查看前端发送数据以及后端返回数据,如果是前端发送数据参数有误,请求不到后端通常报 401,如果是后端返回出错,通常是报 500,具体情况还得具体分析
点解决应该是改代码那一方来点就好。
根本原因是写文档的人没写清楚,直接原因是前端实现的时候发现没讲特别清楚后,也没有找后端二次确认就直接自行脑补了。
1.看日志,哪一端报错就是哪一端的 bug。
2.如果没报错,那就是先看 api,如果数据返回错了,先检查是否是前端请求 api 时传错了,如果没传错是后端返回错了,是后端 bug,如果是 api 传参数错了,就是前端 bug
3.如果传参数没错请求看起来也是正常的,就有可能是前端取错数值了,如果值取对了也可能是解析错了,比如后端是返回 string,前端按 int 解析,或者后端返回个 100 亿的整数,前端按 int32 来解析
4.如果后端返回 string,前端是 int 处理这种,要先要确定是哪一端没按约定来,没按约定的哪一端肯定有 bug
看接口返回数据是否正确
web: console 报错给前端,接口报错给后端,都没报错给前后端
app: 接口 200 给前端,非 200 给后端
【手动狗头】
一般页面的属于前端,接口的话,因为问题定位现在node层和后端不好区分,可以先查下后台服务器日志,如果有报错,那就是后端,没报错,让前端开发协助看下,是不是前端问题,不是的话,在找后台开发看