如何正确定位前后端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。

相关推荐
_龙衣19 分钟前
将 swagger 接口导入 apifox 查看及调试
前端·javascript·css·vue.js·css3
进取星辰1 小时前
25、Tailwind:魔法速记术——React 19 样式新思路
前端·react.js·前端框架
x-cmd2 小时前
[250512] Node.js 24 发布:ClangCL 构建,升级 V8 引擎、集成 npm 11
前端·javascript·windows·npm·node.js
夏之小星星2 小时前
el-tree结合checkbox实现数据回显
前端·javascript·vue.js
crazyme_62 小时前
前端自学入门:HTML 基础详解与学习路线指引
前端·学习·html
撸猫7913 小时前
HttpSession 的运行原理
前端·后端·cookie·httpsession
亦世凡华、3 小时前
Rollup入门与进阶:为现代Web应用构建超小的打包文件
前端·经验分享·rollup·配置项目·前端分享
琉璃℡初雪3 小时前
vue2/3 中使用 @vue-office/docx 在网页中预览(docx、excel、pdf)文件
vue.js·pdf·excel
Bl_a_ck3 小时前
【React】Craco 简介
开发语言·前端·react.js·typescript·前端框架
augenstern4164 小时前
webpack重构优化
前端·webpack·重构