发现和报告bug是测试工程师的日常工作中的重要内容,快速有效地判断bug属于前(后)端,甚至定位到bug源码所在,便于开发人员迅速完善代码,使得项目流程进行得更加顺畅,周期缩短。虽然工作忙的时候可能没有那么多时间进一步定位bug出现的原因等细节,但作为一个拒绝躺平的进步青年,肯定早晚要多学写开发知识的,那么判断bug也就自然而然地成为一项必备基本功了。

一、前后端bug的特点

前端的:界面、布局、交互

后端的:业务逻辑、性能、数据、安全性

二、前后端bug的一些表现

1.界面

常见的有:排版错乱、文字错误、数据错误、兼容性

文字错误包含功能文字错误(对话框或弹框中的标题出错)及提示文字(文案提示出错);数据错误的问题包含列表字段错误、表单字段错误等,这种情况下可以查看前端是否参与计算或进行过字段配置管理;兼容性出错在不同浏览器(版本)中常出现。

2.功能

功能实现错误或不完整以及逻辑错误等功能问题可以通过抓包查看请求的方式来初步判断。如无请求,可初步判断为前端bug;有请求,初步判断为后端的。

3.性能

如页面、表单打开缓慢等,查看抓取到的网络信息,请求耗时正常的初步判断为前端问题……

三、判断方法

1.抓包工具

抓包工具常用于查看是前端的显示有误,还是后端返回给前端的数据有误,通常浏览器自自带的F12、fiddler、httpwatch等工具都可以。主要从请求接口、传参、响应三个方面分析。

查看请求接口的URL是否正确,如果错误,那就是前端传错了;

同理,如果传的参数错了,也是因为前端;

如果URL和传参都正确,响应错了,那就是后端。后端代码出错了,可以通过查看日志,数据库对应的数据,缓存,来具体判断错误在哪发生;此外,记住常见的响应状态码代表意义也有助于判断bug。

状态码代号状态码类别代表含义

1XX

Informational(信息性状态码)

接收的请求正在处理

2XX

Success(成功状态码)

请求正常处理完毕

3XX

Redirection(重定向)

需要进行附加操作以完成请求

4XX

Client Error(客户端错误状态码)

服务器无法处理请求

5XX

Server Error(服务器错误状态码)

服务器处理请求出错

判断时也可在控制台输入JS代码调试分析。

2.查看日志

出现bug时,查看服务器里的日志。如果日志没有输出,基本认为该功能没有与后端交互,非后端bug;如果有输出,就查看有无相关错误日志信息来进一步分析。

3.查看数据库

很多bug出现在接口的相互调用的情形里。可以通过在数据库里查询数据、比对来判断是哪些接口出了问题,比如:在A模块添加一条数据,但是在B模块没有展示,这时我们 通过查询数据库的数据来确认,是A模块没有插入数据,还是B模块没有查询到。而知道接口是前端还是后端负责开发的,就知道bug该给谁改了。

4.经验判断

平时的经历多了,对前后端代码的功能实现、交互等知识有了更深认识,事后及时思考总结,自然而然地会level up。关键在于态度和行动。

另外,多和开发人员沟通,有助于了解他们所开发的具体模块,再加上自己对业务足够熟悉,就很容易判断bug是谁的了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐