先需要了解一个页面的请求过程:
前端:客户看到的页面展示等.
后台(后端):主要负责业务相关功能,简单说就是提供数据支持的数据库等
以http请求为例:
1、用户在前端页面操作,如点击某个提交按钮
2、页面携带数据进行请求,访问具体功能接口
3、由后端服务执行相应的业务逻辑,如涉及数据,再去请求并组装数据返给前端
4、前端页面进行渲染和展示对应的页面和数据
前后端bug各有什么特点?
前端bug特点 1, 界面相关 2,布局相关 3,兼容性相关
后端bug特点 1,业务逻辑相关 2,性能相关 3,数据相关 4,安全性相关
web端如何定位前端还是后台bug?
按下F12,前后端分离的项目,通过ajax向后端请求数据,如果后端返回的数据有问题,那么问题就是后端,
如果返回的数据没有问题,但是展示结果异常那么问题一般就出在前端。
如果前端已经把数据发送给了后端,后端接到请求,而后端没有返回数据请求,则是后端出了问题;
如果前端在用户输入数据后,发送的请求没有带数据,则是前端的问题,或者后台已经传回了数据,但在前端显示不出来,这是前端问题。
APP端如何定位前端还是后台bug?
先用抓包工具确定服务器接口返回的数据是否正确,这样就可以排除是否是服务器的问题,如果返回的是服务器报错那么就是服务器原因,
如果返回的数据与接口文档不符那么就是接口问题,最后就是客户端问题。
3、查接口
这种方法常用于查看是后端返回给前端的数据有误,还是前端显示有误。 大多数浏览器都有自带的接口查看工具,如Chrome,FireFox等都可以通过F12开启抓包,
在NetWork中可以看到当前页面发送的每个http请求。 我们需要对比通过后端接口拿到的数据和前端显示的数据,来确认问题出在哪里。如果数据错了,页面显示是错的,也是正常的,先从后端入手去解决。
还可以分析控制台中js是否有错误,network中状态码是否有问题,如果是500等说明服务端有问题。
比如登录页面,输入账号和密码点击登录,结果没有跳转也没有反应
可以打开控制台,看是否有js错误,如果有就是前端问题,没有且有正常post请求再看network状态码,如果是404有可能是前端参数写错或者后台接口改了,前后端都可以提,500就是后台出了问题。
①.请求接口URL是否正确
如果请求的接口URL错误,为前端的bug
②.传参是否正确
HTTP请求中的参数是否正确,如果HTTP请求中的参数不正确,为前端bug
③.响应内容是否正确
请求接口URL和传参都正确,如果响应内容不正确,则为后端bug
④.也可以在浏览器控制台输入js代码调试进行分析
如果定位为后端的bug,如何精确定位是哪里出了bug呢?
1.查看报错日志,通过日志分析问题点
2.查看数据库确认数据的正确性
3.查看缓存是否正确