如何判断BUG是属于前端还是后端(抓包/日志定位分析)
(我的公众号“墨石测试攻略”,关注可免费获取整套接口测试实战项目!)
有的BUG看一眼就知道是前端还是后端的,而有些BUG则需要借助抓包工具(Fiddler、Charlers、浏览器的F12等)、日志进行分析了。
一般界面上的像错别字/字体大小、按钮显示、输入框超出边界等问题,不要犹豫、不要徘徊,肯定是前端问题;
界面报404的八成是前端写错了请求地址,指给前端开发;报500的,一般是后端问题,指给后端开发。
还有些问题,不太好判断的,可以用抓包工具来进行分析。
举例:一个查询接口,输入查询条件后,界面上没有数据展示出来。如何去分析这个问题呢?
首先,确保数据库里有符合条件的数据。
然后,可以使用工具Fiddler抓包,总结下来,就是三步走策略:
找到对应的请求包→看请求信息→看响应结果。
一、找到对应的请求包
怎么抓到目的包,也就是问题对应的包?
建议先停止抓包,并清除之前的记录,然后在客户端进行操作,这样Fiddler上抓到的基本上是当前操作的记录,然后再对抓包数据进行分析。
二、看请求信息
从上图可以看出,请求方式是POST,POST的信息分四部分,请求行、请求头、空一行、Body(GET请求是没有Body的)。Raw存放的是原始数据,其他的项是分析请求中的某一种数据。
// 抓包分析:
对照接口文档,看对应的接口有没有触发请求,如果没有请求(没有调用接口)或请求有问题,那就是前端的BUG。
三、看响应结果
HTTP响应主要由状态行、消息报头、响应正文(和消息报头之间空一行)组成。
// 抓包分析:
如果前端请求没问题,那么看响应。
先看响应的状态码,如果返回报错,看报错的状态码是什么,然后进行原因排查(参考公号“墨石测试攻略”中的这篇文章《接口测试常见的状态码》);如果状态码为200,表示响应成功了,要具体分析后端返回的报文。
根据接口文档,看前端传参是否正确,如果是前端传参不对导致后端返回错误,那就是前端问题;如果传参正确,后端处理不正确,那可能就是后端问题。
如果后端响应了且数据和接口文档一致,那就是前端展示的问题。
总结:按前端→后端→前端的顺序进行分析。
类似的问题:比如一个登录界面,输入用户名密码后点击【登录】发现无响应怎么回事;一个支付功能,支付成功后在我的订单里却没有显示;打开一个网页,显示空白怎么回事等等,都可以按上述进行分析。
还有些问题,可以借助系统日志(Log)来分析。
为什么会有日志这种东东?一般为了便于查找、分析问题,开发人员会写很多日志来记录系统运行过程中的错误、异常或者系统处理过的事件。
我之前就遇到过这样一个问题:A系统对接B系统做数据同步,但是到达同步时间后,数据并没有同步过来。
我通过数据库查询到B系统中要同步的数据已经放到同步队列中了。然后我去查询了同步日志,日志记录了每一笔要同步的数据信息,发现有一笔数据一个字段的长度超限了,那么这笔数据肯定是无法同步过来的,但是理论上不应影响后面数据的同步。
原来是后端的代码错误地加了顺序的判断,导致了这个问题。
问题解决了,不仅定位到了BUG,也帮助开发分析了BUG的原因。
现在很多公司都将产品部署到Linux系统,小伙伴们要熟悉Linux常用的命令,学会用tail等命令去查询日志。
(我的公众号“墨石测试攻略”,关注可免费获取整套接口测试实战项目!)
如何判断BUG是属于前端还是后端(抓包/日志定位分析)相关推荐
- 软件测试如何定位分析bug?
你好,我是小牛. 软件测试日常工作中,每天可能都会遇到不同的问题和bug,有些刚入行的测试喜欢不加分析就直接甩给开发去解决.开发比较闲还好,如果手头工作比较多,就容易烦.甚至有可能是后端的问题,但是你 ...
- 如何判断BUG是前端BUG还是后端BUG
一般像界面上的错别字.字体大小.控件显示.输入框超出边界.字符被截断.字符重叠等问题,不要犹豫.不要徘徊,肯定是前端问题. 界面报404的八成是前端写错了请求地址,指给前端开发:报500的,一般是后端 ...
- 判断bug属于前端还是后端
发现和报告bug是测试工程师的日常工作中的重要内容,快速有效地判断bug属于前(后)端,甚至定位到bug源码所在,便于开发人员迅速完善代码,使得项目流程进行得更加顺畅,周期缩短.虽然工作忙的时候可能没 ...
- web前端与后端的区别
要了解web前后端的区别,首先必须得清楚什么是web前端和web后端. 首先:web的本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思.现广泛译作网络.互联网等技术领域.表现为三种形式,即超文本 ...
- 如何在家自学前端后端基础?路线是什么?前端程序员到底干什么?学了C语言然后呢?到底是选前端还是后端?
文章目录 走向程序员的第一步:选择前端还是后端? 选择前端如何学习? 学习路线流程图 详细介绍学习路线 走向程序员的第一步:选择前端还是后端? 或许是因为学了C语言或者其他语言之后不知道如何学习? 或 ...
- python的前端和后端_python前端和后端数据交互,tornado框架入门,初学小试牛刀!...
Python前端和后端是如何交互的,怎么用tornado框架快速搭建前端和后端数据交互? 前端与后端的数据交互,最常用的就是GET.POST,比较常用的用法是:提交表单数据到后端,后端返回json 前 ...
- 前端人必须掌握的抓包技能(原理到实践)
https://juejin.cn/post/7140040425129115684 作者:jecyu 1. 前言 时隔 3 年,重新接触了移动端 h5 页面开发,上一次还是大四实习.这一次是 hyb ...
- webstorm前端调用后端接口_软件测试面试题:怎么去判断一个bug是前端问题还是后端问题...
大家好,在软件测试面试过程中,经常有面试官问到这个问题,那我们应该如何回答才好呢?少废话,直接看答案: 答案: 在页面上发现bug之后,要想判断这个问题属于后端还是前端,我就需要来判断这个页面背后调用 ...
- 软件测试-判断是属于前端还是后端BUG
前端问题 点击弹出这种操作都是前端问题 没有请求接口跟数据没得太大关系的大部分是前端的,但是也不一定 一般是快速连续点击多次按钮会请求多次,这个是前端的,喊他限制一哈 有模块选中了,却没有的状态颜色标 ...
最新文章
- java phantomjd linux_linux安装phantomjs
- 用Python进行机器学习(附代码、学习资源)
- node-OSDomainNetPath
- flink dataset api使用及原理
- python excel库 linux_用python写一个简单的excel表格获取当时的linux系统信息
- 【全】.net core平台单元/集成测试结果、覆盖率、圈复杂度到可视化HTML报告之路...
- 研究者展示黑客通过GPU绕过防毒软件查杀的方法
- mysql什么是覆盖索引,MySQL中的覆盖索引
- caffe dataset
- Jersey框架一:Jersey RESTful WebService框架简介
- 2019华为软件精英挑战赛总结篇
- 校内题目T2691 桶哥的问题——送桶
- [ZZ]什么是Google Urchin:了解Urchin与Google Analytics差异
- 管理团队需要的能力和技术
- 什么是对象、什么是面对对象?
- 关于BatchNorm的理解与讨论
- AtCoder ABC161 D Lunlun Number
- Date日期格式转换
- 证券公司信息化2-投资银行业务是做什么的,怎样赚钱,IT在里边起到什么作用?
- private static final long serialVersionUID = 1L详解