Bug分析

  • 1、如何分析Bug?
    • 1)抓包接口定位分析
    • 2)看系统日志

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?相关推荐

  1. 测试人员必备技能——如何利用F12快速定位前后端BUG

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

  2. 如何定位前后端Bug

    文章目录 1 定义 2 定位方法 3 实战 1 定义 前端 : 是用户看得见摸得着的东西,主要体现在页面的视觉效果以及交互设计上. 特性:界面/布局/兼容性/交互相关 前端的bug主要分为3类:HTM ...

  3. 如何区分前后端BUG?

    软件测试工程师的职责是发现BUG,此外,如何体现个人价值?那么我们试想,只提出问题而不去解决,问题就永远得不到闭环.所以,一个资深的测试人员的基本功应该是这样的:深挖业务和功能需求,找出BUG,定位B ...

  4. 按F12,你真的会准确定位前后端问题吗?

    1.怎么找接口? 最好在谷歌浏览器按f12查看,主要看network,就可以定位前后端问题. 如果按f12以后,点击network,可以看到.js和.png这些结尾的都不是接口. 点击network- ...

  5. day06:如何定位分析前后端bug(详细版)

    文章目录 一. 为什么要区分? 二.如何定位分析? 三.借助什么工具? 四.如何复现bug? 五.案例分析 一. 为什么要区分? 第一,前端bug提交给后端,后端bug提交给前端,不仅给开发双方带来了 ...

  6. mysql定位前后端问题_Web 前后端分离的意义大吗?

    意义很大,但是你的问题本身认识有偏差. 对于前后端分离,认识上有个误区,那就是很多人自称:我们老早就分离了,全AJAX,使用Angular或者什么什么就可以了. 这个说法是不合适的,打个比方,别人问的 ...

  7. 使用Fiddler定位前后端问题

    以百度搜索为例: 1.打开Fiddler,设置过滤条件 2.打开浏览器,输入网址,抓包工具会开始读取(如果会话列表有数据记得清屏) 3.操作界面,查看会话列表 4.双击会话列表对应的数据包,查看接口数 ...

  8. web应用F12查看报错(前后端bug判断、2XX/3XX/4XX/5XX常见状态码解析)

    chrom浏览器为例 (1)打开开发者工具,在浏览器菜单栏选择工具-开发者工具,快捷键是F12 (2)打开之后切换到Network页签,操作就可以看到请求响应 (3)再选择响应的链接,切换到Previ ...

  9. 在测试过程中,我们是如何去定位前后端问题的?

    我们在做web端测试时,难免会遇到这样的一个情况:出现的bug,不知道是前端还是后端,这篇就为大家简单介绍几种比较好用的方法吧 场景: 清晰的记得那天是项目要上线,但是由于某种原因,页面可以打开,但是 ...

最新文章

  1. java里remark是什么意思_remark的用法和短语例句是什么意思
  2. svn 命令行创建和删除 分支和tags
  3. 西安网络推广教大家如何提高网站抓取量?
  4. Oracle数据库之数据处理
  5. C++ STL vector(向量)
  6. cad连续标注数字123怎么弄_实例讲解CAD模型与布局中的各种比例
  7. 企业为什么需要IT资产管理
  8. 初识编码 gbk unicode utf-8
  9. oracle关闭数据库容器,Oracle12cr1新特性之容器数据库(CDB)和可插拔数据库(PDB) 的启动和关闭...
  10. The file contains a character that cannot be represented in the current code pag
  11. 那些年做过的 .NET Web 项目和 iOS 之路的一些思考
  12. 关于js弹出框的介绍:
  13. C# MD5 加密算法
  14. XP cmd命令 部分
  15. 电路交换,分组交换,报文交换
  16. 无线网络dns服务器是多少,中国移动宽带dns是多少?
  17. java 拼音_GitHub - promeG/TinyPinyin: 适用于Java和Android的快速、低内存占用的汉字转拼音库。...
  18. Weka数据挖掘——选择属性
  19. 享有盛誉的PHP高级教程
  20. 翻译 | 《JavaScript Everywhere》第1章 开发环境(^_^)

热门文章

  1. 《2020/01/07》sparks代码编写
  2. C#实战:基于ItextSharp技术标签生成小工具
  3. RT-Thread MSH_CMD_EXPORT分析
  4. 谈谈使用苹果键盘(Magic Keyboard)和鼠标(Magic Mouse 2)的感受
  5. 易维帮助台让IT服务从部门级应用到企业级应用
  6. 你知道古筝演奏技法的三次革命吗
  7. iOS 如何上传TestFlight
  8. 从零开始学androidTextView的使用.四.
  9. 华罗庚“统筹方法”的局限性——节约时间需要注意的问题
  10. [书摘]老外侃中国(埃瑞克【挪威】口述,郭莹撰稿)