精华内容
下载资源
问答
  • 然后通过fiddler 定位前后端bug
    千次阅读 多人点赞
    2020-06-09 13:50:54

    fiddler 是我们在测试中常用的抓包工具。那我们一般使用fiddler 工具来抓取请求信息来进行分析,一般有以下几种情况:

    第一种情况:fiddler 在没有设置过过滤器的情况下面没有抓到请求信息,可能是前端页面元素没有绑定事件,也有可能是前端发生了JS 错误,这就是前端的bug 。

    第二种情况:若抓取到的请求返回的结果错误,我们要确认一下,是否是前端传输的数据是错的,是的话就是前端的bug ,如果确定传值是正确的话,那就是后端的bug 。

    第三种情况:若抓取到的请求返回值中间的http 的状态码是500的话,说明是后端服务器一般的内部错误,那这就是后端的bug 。

    第四种情况:若抓取到的请求返回值中间的http 的状态码是404的话,说明可能后端服务器根本就没有对应地址的服务,当然还有可能是前端JS 提交请求的时候提交了错误的地址。

    更多相关内容
  • 如何定位前后端Bug

    千次阅读 多人点赞 2021-04-15 17:21:52
    Bug分析1、如何分析Bug?1)抓包接口定位分析2)看系统日志 1、如何分析Bug? 1)抓包接口定位分析 web项目的话,一般工作中使用方式比较多的是使用浏览器自带的F12抓包看接口请求。 如果是app客户端之类的,一般...

    1、如何分析Bug?

    1)抓包接口定位分析

    web项目的话,一般工作中使用方式比较多的是使用浏览器自带的F12抓包看接口请求。
    如果是app客户端之类的,一般采用fiddler等工具进行抓包接口。
    不管哪种方式,目的都是通过查看接口,去定位分析属于前端问题还是后端问题。

    比如你在淘宝上边购买了一件商品,并且成功支付,但是在我的订单里面却没有记录,你应该如何去分析定位这个问题?

    首先需要搞明白的是这个场景的数据流调用的逻辑关系,不过这个问题比较简单。

    整体来说就是前端购买商品,支付成功,会把这条数据的商品信息加支付信息都落入数据库中。

    然后点击我的订单,会调后端接口,后端从数据库取相关信息,然后前端渲染展示商品和支付信息。

    搞明白这个场景的数据流转就很容易定位分析这个bug了,可以使用抓包工具抓包这个我的订单调后端的接口。

    如果抓不到这个接口,就是前端没有发出请求,显然是前端问题。

    如果有请求并且响应了,就查看这个接口响应信息,如果返回报错了,则需要具体分析报错内容。

    这个时候既有可能是前端入参传的不对,导致后端报错。也有可能是前端传对了,后端处理错误,需要具体分析是前端问题还是后端问题。

    如果后端成功响应了且返回信息跟接口文档定义的一致,那么大概率是前端展示的问题,这个时候需要找前端同事。

    以上,就是定位一个bug是属于前端还是后端的分析思路。

    2)看系统日志

    既然可以抓包定位看接口返回了,为什么还需要查日志系统呢?
    这是因为对于一家公司来说,一般不止一个系统。很多公司都是根据业务不同划分出不同的组,不同系统共同完成公司一个项目。

    举个例子,比如一家保险公司,可能有系统是负责用户下单的就是交易系统,管理保单变更比如退保之类的就是保单系统,负责收钱的就是财务系统,负责赔钱的就是理赔系统……

    每个系统就是一个组,一般二三十人不等。每个组有开发,测试,产品,具体看公司了。

    那么这些系统是怎么交互合作的呢?就是通过接口来交互,这也是接口测试比较复杂的地方,涉及到多个系统多个接口的逻辑调用。

    理解完这个,再说到为什么要查看日志的问题?

    比如页面调后端系统接口报错了,但是你知道整个流程能有多长吗?

    页面可能直接调用的是系统A接口,但是这时候系统A又调用了系统B,系统B又调用了系统C。页面上看到的接口返回报错结果,本质上可能是系统C接口报错返回的。

    这个时候仅仅通过抓包就无能为力了,你需要去查看系统日志,去一层层去分析,究竟是哪个系统报错了,然后定位到问题。把报错信息和日志截图丢给那个系统同事。

    一般我发送错误,协调处理时都会发下面几样东西,调对方接口的url,入参信息,返回报错信息。

    再简单描述下调用接口业务场景,如果对方很熟悉的话一看url就知道了,这时候就不用描述了。

    再来说下系统日志是怎么一回事?

    日志本质上就是开发写在项目中的代码,报错会抛出异常信息,以及打印一些接口返回信息等等。

    有的公司会有专门的日志查询系统,有的公司是通过xshell工具连接上linux系统再查找日志,这就看公司了。

    因为现在公司系统一般是linux系统,所以查询日志的命令自然就是linux命令了。

    我一般用的比较多的是grep,tail这两个命令,前者是精确查找,后者是动态查找,大家可以百度学习下这两个命令。

    说一下精确查找,就是根据开发代码中打印的关键字信息去精确查找日志,一般是requestid,证件号或者订单号之类的。

    这个可以提测后问下开发,查找日志的关键字是什么,日志文件名是什么,以及去哪个服务里面去查找。

    因为现在一般是微服务架构,不同的服务处理不同的业务,存储不同的日志。不同公司可能不太一样,但是方式大同小异。

    展开全文
  • 在测试人员测试过程中经常需要通过抓包来区分一些前后端Bug,特别是Web端的测试,利用浏览器中的F12开发者选项,就能进行网站界面测试、调试,分析网页所出现的问题,查看html元素、查看响应事件等方面。...

    前言

    在测试人员测试过程中经常需要通过抓包来区分一些前后端的Bug,特别是Web端的测试,利用浏览器中的F12开发者选项,就能进行网站界面测试、调试,分析网页所出现的问题,查看html元素、查看响应事件等方面。

    F12开发者工具面板

    用Google打开一个页面,点击键盘右上方的F12按钮,弹出F12开发者工具面板。如下:

     

    1. 元素(Elements):查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈。
    2. 控制台(Console):控制台一般用于执行一次性代码,查看JavaScript对象,查看调试日志信息或异常信息。
    3. 源代码(Sources):该页面用于查看页面的HTML文件源代码、JavaScript源代码、CSS源代码,此外最重要的是可以调试JavaScript源代码,可以给JS代码添加断点等。
    4. 网络(Network):从发起网页页面请求Request后分析HTTP请求后得到的各个请求资源信息(包括状态、资源类型、大小、所用时间等),测试人员重点要掌握该功能模块。

    Network面板

    1. 窗格功能

    •   :点击后进入选择元素模式,然后从页面中选择需要查看的元素,然后可以在开发者工具元素(Elements)一栏中定位到该元素源代码的具体位置 。
    •  :默认开启,会在面板进行网络连接的信息记录,关闭后则不会记录。
    •  :点击清除网络请求列表。
    •  :过滤网络请求,点击打开Filters控制Requests Table具体显示哪些内容。
    •  :重新加载当前页面的时候,之前的请求资源信息将会保留。
    •  :是否进行缓存。启动开关时页面资源不会存入缓存,可从Status栏的状态码看文件请求状态。
    •  :网络连接开关,可设置限速模拟各种网络环境下的不同用户访问本页的情况。

     

     

    2.请求资源面板

    • Name:资源名称的URL路径。

     

    点击某个资源的Name可查看该资源的详细信息,根据选择的资源类型显示的信息也不太一样。

    1. Headers:该资源的HTTP头信息

     

    General

    • Request URL:资源的请求urlURL和域名的区别:域名就是到.com .net .org就结束了;URL就是除了域名 还有右面的/asl;dajs;dlfsdf.html 一长串
    • Request Method:HTTP请求方法
    • Status Code:响应状态码——200(状态码) OK(原因短语)301 - 资源(网页等)被永久转移到其它URL404 - 请求的资源(网页等)不存在500 - 内部服务器错误
    • Remote address:请求的远程地址
    • Referrer policy: Referrer-Policy 首部用来监管哪些访问来源信息会在Referer中发送应该被包含在生成的请求当中。

    Response Headers

    1. Connection:keep-alive ——维护客户端和服务端的连接关系
    2. Content-Encoding:gzip ——压缩编码类型
    3. Content-Type:text/html ——服务端发送的类型及采用的编码方式
    4. Date:Tue, 14 Feb 2021 03:38:28 GMT ——客户端请求服务端的时间
    5. Server:nginx/1.2.4 ——服务端的Web服务端名
    6. Transfer-Encoding:chunked ——分块传递数据到客户端
    7. Vary:告诉下游代理是使用缓存响应还是从原始服务器相应

    Request Headers

    • Accept:text/html ——客户端能接收的资源类型
    • Accept-Encoding:gzip, deflate ——客户端能接收的压缩数据的类型
    • Accept-Language:en-US,zh;q=0.9——客户端接收的语言类型
    • Connection:keep-alive ——维护客户端和服务端的连接关系
    • Cookie: ——客户端暂存服务端的信息
    • Host:www.jnshu.com ——连接的目标主机和端口号
    • Referer:http://www.jnshu.com/daily/15052 ——来于哪里

    2.Preview:根据所选的资源类型(JSON、图片、文本)显示相应的预览

     

    3.Response:显示HTTP的Response信息

     

    4.Cookies:显示资源HTTP的Request和Response过程中的Cookies信息。

     

    5.Timing:显示资源在整个请求生命周期过程中各部分花费的时间

     

    • status:Http的状态码。
    • Type:请求资源的MIME类型,MIME是Multipurpose Internet Mail Extensions (html,css,js等)。
    • Initiator:标记请求是由哪个对象或者进程发起的(请求源)。
    • Size:从服务器下载的文件和请求的资源大小,若是从缓存中取得资源则该列会显示“from cache”。
    • Time:请求或下载的时间,从发起Request到获取到Response所用的总时间。
    • Waterfall:显示所有网络请求的可视化瀑布流(时间状态轴),点击时间轴,可查看该请求的详细信息。

    定位前后端Bug

    1. 定位前端的问题
    • 点击页面上的某个按钮无反应时,在Console处看到js报错,并在Network中没看到前端对后端的功能接口发起调用,点击按钮无返回数据,一般为前端的Bug。

    • 红色方框圈出来的地方是参数,若要求参数不能为空,但上图中如name字段的参数为空,那就是前端传参的错误,如果这里的参数错误,那也是前端的问题。

     

    • 和接口文档对比一下参数是否一致,如若不一致,request url错误,就是前端的BUG,若接口文档有这个数据,但实际为空,也是前端的错误。

    2.定位后端的问题

    preview和response都可以定位后端bug,但是preview更加直观,可以看到所有数据的返回值。而response只会返回你选中的那条数据的返回值。

    • 在网页点击某个按钮无反应时,在Console处看到js没有报错,并在Network中看到请求返回的状态码是500,那么这个BUG就是由后端导致的。

    • 上图response和preview的返回值内容如果为空或者返回值不对,那就是后端的Bug。

    展开全文
  • 定位前后端Bug思路及方法参考

    千次阅读 2019-05-11 10:25:00
    1)模块职能分工不同,同一个模块,前后端负责团队或人员不同,定位后可清晰地指派到人; 2)测试尽量提供有价值的Bug信息,节约沟通成本,提升Bug修复率; 3)体现测试的技术专业性,有利于在团队树立良好的个人...

    为什么提Bug要定位是前端或后端的?

    1)模块职能分工不同,同一个模块,前后端负责团队或人员不同,定位后可清晰地指派到人;

    2)测试尽量提供有价值的Bug信息,节约沟通成本,提升Bug修复率;

    3)体现测试的技术专业性,有利于在团队树立良好的个人形象;

    定位BUG大概思路方向:

    用户层面问题 -> Web页面/软件界面 -> 中间件 -> 后端服务 -> 代码 -> 数据库

    用户层面问题:大多不是bug,可能是用户的操作不当或网络环境问题;

    then 直观查看页面表现;

    then 看状态码;

    then 看服务器日志;

    then 接口的请求和返回以及js执行是否有报错;

    then 看需求文档;

    then 后端生成页面问题;

    then 开发提供可测性支持;

    then 配置的问题;

    then 经验法则.

    经验:

    多修炼内功:对业务系统的掌握,测试方法以及开发技术。

    建设自己的bug知识库,多思考、多积累、多总结。

    对于无法确定的问题或者目前功力难以定位的问题,要交给开发,不要死磕,浪费时间。如果冒烟测试都不通过,就不要浪费时间定位了,直接打回。优先解决项目进度问题,其次才是测试深度。

    参考资料:

    https://blog.csdn.net/My_Sunshine_appear/article/details/81162493

     

    转载于:https://www.cnblogs.com/adkinscara/p/10847858.html

    展开全文
  • 如何定位前后端bug

    2021-09-13 22:49:32
    前端: 1、在发送请求时,内容在转码的时候出现错误,转到后端,无法正确的接收响应,最后返回的显示的结果就会不同 2、在接收后端返回的结果后,解码出现问题,显示的结果就会不同 3、在接收到后端返回的结果后...
  • 前后端bug定位

    千次阅读 2020-04-26 17:11:25
    判断前后端bug定位需要查看对应取值与接口文档中的取值是否一致,对应前端及后端的取值是否一致 一个商品状态为status,待上架status=0,上架中status=1,下架status=2 前端bug: 如:一个商品上架成功后,数据库...
  • 测试,如何定位 前后端bug ? 首先需要清楚知道 数据的传输流程:用户在前端页面操作,如点击某个功能,页面携带数据进行请求,访问具体功能接口,由后端服务执行该接口相应的业务逻辑,如涉及数据,后端从数据库取...
  • bug的时候,如果能尽量提供有价值的信息给开发人员,来缩小定位范围,甚至于如果能够直接协助定位bug出在哪里,那么开发人员将更容易去fix掉bug,从而降低了测试和开发之间的沟通成本,提高了工作效率。 3.bug提...
  • 如何区分前后端bug

    千次阅读 2021-08-12 11:40:04
    对于测试工程师而言,区分前后端bug,对于提高改bug效率很重要,前端bug指派给前端工程师,后端bug指派给后端工程师,从而达到忙而有序,事半功倍的效果。 页面请求过程: 用户页面输入某个字段,点击提交按钮 ...
  • 按F12,你真的会准确定位前后端问题吗?

    千次阅读 多人点赞 2020-06-25 15:15:40
    1.怎么找接口?最好在谷歌浏览器按f12查看,主要看network,就可以定位前后端问题。如果按f12以后,点击network,可以看到.js和.png这些结尾的都不是接口。点击netw...
  • F12前后端判断bug

    千次阅读 2019-08-31 16:45:27
    1.后端编辑字段,查询数据库字段值是否发生相应改变 2.前端 web F12 ,此时触发请求,若有错误展示, 【Console】可展示报错信息及位置信息。...3.APP ,用fiddler可捕捉报错信息及接口信息, 对比接口文档可定位...
  • 2.提bug的时候,如果能尽量提供有价值的信息给开发人员,来缩小定位范围,甚至于如果能够直接协助定位bug出在哪里,那么开发人员将更容易去fix掉bug,从而降低了测试和开发之间的沟通成本,提高了工作效率。...
  • 如何定位web前后台的BUG

    万次阅读 多人点赞 2017-05-09 12:13:27
    Server:jsp+Servlet+json 数据库:sql、MySQL、oracle等 前台: 涉及到 jstl,jsp,js,css,htm等方面 后台:servlet,jms,ejb, 还有很多框架,struts,hibernate,spring,ibatis Jsp:分不清前后台的,...
  • 2.前后端bug各有什么样的特殊性质 (1)前端bug特性:界面相关,布局相关,兼容性相关,交互相关。 (2)后端bug特性:数据相关,安全性相关,逻辑性相关,性能相关。 3.定位BUG属于前端还是后端,常用的有以下2种方法:...
  • 在测试过程中,我们是如何去定位前后端问题的?

    万次阅读 多人点赞 2020-08-08 00:51:15
    我们在做web测试时,难免会遇到这样的一个情况:出现的bug,不知道是前端还是后端,这篇就为大家简单介绍几种比较好用的方法吧 场景: 清晰的记得那天是项目要上线,但是由于某种原因,页面可以打开,但是在点击...
  • 1、可以发现页面上发现不了的bug 2、检测系统异常处理的能力(发送错误的数据看会有什么影响) 3、检查系统的安全性、稳定性(模块与模块之间传输数据是否安全、传输是否稳定) 4、前端和后端都校验好了(代码在哪都...
  • 如果请求的接口url错误,为前端的bug 2.传参是否正确 如果传参不正确,为前端的bug 3.请求接口url和传参都正确,查看响应是否正确 如果响应内容不正确,为后端bug 4.后端bug需要查看 服务器的log日志 【免责声明:...
  • 如何定位前端bug和后端bug

    千次阅读 多人点赞 2019-10-08 09:34:24
    今天就来跟大家分享“如何定位前端bug和后端bug” 正文 1、样式问题 关于布局和兼容性问题,举个例子:同个界面,在15寸电脑上可以看到完整的内容,但是在13.3的电脑上只能看到部分;再举个例子:在Android 9.3的...
  • 如何判断前后端bug

    千次阅读 2020-06-21 16:51:57
    如何判断前后端bug? BUG,其实就是软件期望的行为与实际行为的差异。从程序的角度来看,在软件整个生命周期中都会有bug的出现。 ①需求分析过程中,需求理解的不足,导致的理解错位 ,遗漏甚至变化都可能导致bug; ...
  • 测试如何定位判断是前端的bug还是后端bug

    千次阅读 多人点赞 2022-03-18 13:42:52
    软件测试员是找bug,但也不仅仅是找bug。 首先我们需要了解下什么是软件测试。 软件测试简单点来说是验证软件在功能、性能等方面是否满足用户需求。 在整个软件测试过程中,软件测试狭义上指软件初步发版后,对...
  • 如何区分前后端BUG

    万次阅读 多人点赞 2019-11-09 15:46:02
    软件测试工程师的职责是发现BUG,...这里我们就来说说,当我们找到了BUG,应该把BUG提交给谁去解决,这属于BUG定位的问题。 试想: 根据需求,用户头像应是圆形,但结果是方形,是谁的BUG? 保存用户信息时,无法保...
  • 深入浅出charles抓包

    2017-11-02 14:14:23
    Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以...Charles是一个简单的基于HTTP协议传输的调试工具,可以帮助开发人员分析数据和加快调试BUG的效率。
  • 弄清楚如何定位和分类bug之前,需要了解一个页面的请求过程,以http请求为例: ... 2、页面携带数据进行请求,访问具体功能接口 3、由后端服务执行相应的业务逻辑,如涉及...定位前后端bug,有什么方法?1、经验法...
  • Web测试必备技能——F12定位bug属于前端还是后台

    万次阅读 多人点赞 2019-10-08 17:39:57
    前台bug定位:按F12在console中查看报错信息,对于出错的js可以在Sources下查看对应报错的资源文件,写入禅道提交给开发即可 2.后台查看日志一台服务器可以部署多个应用, cd usr/local/测试服务器名称/logs /...
  • web测试中,如何判断是前端的bug还是后端的bug呢?

    万次阅读 多人点赞 2019-01-23 16:25:28
    web测试中,如何判断是前端的bug还是后端的bug呢? 通常可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口,传参,响应。 1.请求接口url是否正确 如果请求的接口url错误,为前端的bug 2.传参是否...
  • 如何定位Bug是前端还是后端问题(个人总结) 一、UI界面出现问题 如果是APP方面UI的问题—APP相关探查工具 如果是WEB浏览器方面的问题“ 1.查看前端UI实现代码是否报错 2.查看对应API接口响应是否异常(接口测试...
  • 【汇总】如何定位前端bug和后端bug

    千次阅读 2021-06-24 10:02:06
    今天就来跟大家分享“如何定位前端bug和后端bug” 标题 1、 样式问题 关于布局和兼容性问题; 举个例子:同个界面,在15寸电脑上可以看到完整的内容,但是在13.3的电脑上只能看到部分;再举个例子:在Android 9.3的...
  • web测试如何确定bug属于前后端

    千次阅读 多人点赞 2019-08-26 10:32:01
    什么是前端和后台 ...从而实现按钮,数据显示的正常。 测试工程师如何区分前端和后台的BUG 1、检查接口 前端和后台之间是通过接口文件相互联系的,同样,测试人员也是可以看到这个...因为这是区分前端和后台bug的关键...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,457
精华内容 11,382
关键字:

如何定位前后端bug