如何正确定位前后端bug?

在平时的开发过程中,正确定位前后端bug是提高开发效率和项目质量的关键。以下是一些实用的方法。

一、前后端bug 特征

前端主要负责显示数据,后端主要负责处理数据、存储数据,前后端主要通过接口进行数据交换。

1.前端bug特征

  • 界面显示类问题:如文字大小不一,控件颜色不搭,控件不整齐,静态界面错误;
  • 页面布局类问题:文字排版没有统一,行间距大小、重叠、显示不全;
  • 页面交互类问题:没有点击,拖拽,基本都是JS的问题;
  • 兼容性问题:不同环境下的界面显示类问题和页面布局类问题;

2.后端bug特征

  • 业务逻辑类问题:如正确的用户名密码却登录失败等;
  • 数据类问题:数据新增成功但是没有显示;
  • 性能类问题,安全类问题;

二、判断前后端bug方法

1.抓包+报文分析

在复现bug时,F12或者Fiddler抓包,分析报文;

如果前端没有发出请求,则是前端bug;

如果前端发出了请求,但是参数不对,则是前端bug;

如果前端发出了请求,参数正确,后端没有相应,没有数据,则是后端bug;

如果前端发出了请求,参数正确,后端返回的数据不正确,则是后端bug;

如果前端发出了请求,参数正确,后端返回的数据也正确,但是界面显示不对,则是前端bug;

2.查看错误提示或日志

前端错误提示:如果浏览器控制台(Console)有报错信息,如JavaScript错误、资源加载失败等,通常是前端的bug。

后端日志:查看后端服务的日志文件,如Linux服务器中的日志文件。如果日志中有error、warning、exception等报错信息,通常是后端的bug。

3.利用状态码判断

4xx状态码:表示客户端错误,通常是前端或客户端的问题。例如,404表示未找到资源,可能是前端请求的URL错误。

5xx状态码:表示服务器错误,通常是后端或服务器的问题。例如,500表示服务器内部错误。

常见状态码:

(1)以2开头

  • 200 -- 请求成功,服务器也返回了响应信息

(2)以3开头:请求重定向了,请求的位置转移了

  • 301 -- 永久性定向,请求的资源被分配了新的URL地址,而且以后请求的时候都是用新的URL地址
  • 302 -- 临时性定向,请求的资源被分配了新的URL地址,这次访问是这个新的URL地址,下次访问可能就是另外的URL地址
  • 303 --临时性定向,请求的资源被分配了新的URL地址,请求的时候使用GET方法定向获取资源(与302的区别就是303要求客户端使用GET请求方式)

(3)以4开头

  • 401 -- 表示访问的页面没有授权
  • 403 -- 表示没有权限访问这个页面
  • 404 -- 表示没有这个页面,服务器上无法找到请求的资源(也可以是服务器拒绝请求但是不想给拒绝原因),例如:前端未传标头Authorization,则后端状态码显示401表示该访问的页面未做授权

(4)以5开头

  • 500 -- 表示服务器内部异常
  • 503 -- 表示服务器正处于超负载或者正在进行停机维护,无法处理请求
  • 504 -- 表示服务器请求超时,没有返回结果

4.前端特定调试方法

(1)使用Vue Devtools等调试工具:对于使用Vue等前端框架的项目,可以利用Vue Devtools等浏览器扩展工具来查看和调试组件状态、属性和事件。

(2)控制台日志:在代码中添加console.log、console.error等日志语句,跟踪程序执行流程和变量状态变化。

(3)代码调试:通过浏览器的开发者工具设置断点,逐步执行代码,查看变量的值和调用栈,定位问题所在。

5.后端特定调试方法

(1)查看数据库:检查数据库中的数据是否正确存储和更新。如果数据不正确,可能是后端处理逻辑的问题。

(2)查看缓存:如果项目使用了缓存机制,检查缓存是否正确更新和同步。缓存问题也可能导致后端bug。

相关推荐
usdoc文档预览13 小时前
USDOC系列之PPT文件在线编辑-VUE前端实现在线浏览器在线编辑PPT文档
前端·vue.js·编辑器·office365·ppt在线编辑·office文件在线编辑·文件在线编辑
Java小卷13 小时前
面向 schema 编程,轻松搞定 Element 虚拟化表格复杂应用场景
vue.js·低代码·element
用户27050777252413 小时前
Agent 调工具卡住?3 种超时与取消策略实测对比
前端
LuHang14 小时前
我一行代码没写,把领导派的活做成了公司内部系统😭
前端
明月_清风14 小时前
Meta 开源了一个 AI Native 组件库:Astryx,150+ React 组件,专为 AI Agent 而设计
前端·人工智能·ai编程
仨孩子的爹14 小时前
Lodop、hiprint 与 vue-print-designer:打印控件选型对比
vue.js
用户8508692761514 小时前
秒杀系统中 Shell 脚本并发控制 Bug:究竟哪里出了
前端
炫酷的大高个17 小时前
6 亿播放的闪身步,我用前端算出 15 倍重心差
前端·javascript
不可能片场17 小时前
内容运营自动化 配图折行别把词切两半
前端·electron
Lank_M17 小时前
HEIC转JPG统一转sRGB,P3高饱和色就回不来了
前端