如何定位判断是前端的bug还是后端bug?

前言

随着开发软件趋向于大型化复杂化,软件测试逐渐成为一个专业,需要运用专门的方法和手段,需要专门人才来管理。但是外面的小道消息总是在传:软件测试就只是找bug的!这个我可就不同意了~

软件测试员是找bug,但也不仅仅是找bug。首先我们需要了解下什么是软件测试。软件测试简单点来说是验证软件在功能、性能等方面是否满足用户需求。

在整个软件测试过程中,软件测试狭义上指软件初步发版后,对功能的完备度、对bug的情况进行整体测试;广义上来说,软件的测试应该围绕在软件的整个生命周期当中,对软件的操作和应用都属于软件测试。

软件测试的目的首当其冲就是发现bug,修复bug,补充软件功能,完善客户使用友好度。

测试如何定位判断是前端的bug还是后端bug

软件测试工程师的职责是发现BUG,此外,如何体现个人价值,只是提出问题而不去解决,问题就永远得不到闭环。所以,一个资深的测试人员的基本功应该是这样的:深挖业务和功能需求,找出BUG,定位BUG,提出解决方案。这里我们就来说说,当我们找到了BUG,应该把BUG提交给谁去解决,这属于BUG定位的问题

在这我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

京东内部员工自动化测试培训课程!盲目自学真的会毁终生,27天学完,能救一个是一个...

前后端分离的优点是什么?

  • 彻底解放前端。前端不再需要向后台提供模板或是后台在前端HTML嵌入后台代码
  • 提高工作效率,分工更加明确。前端只关注前端的事,后台只关心后台的的话,两者开发可以同时进行,在后台还没有时间提供接口的时候,前端可以将数据写死或者调用本地的JSON文件即可,页面的增加和路由的修改也不必再去麻烦后端,开发更加灵活
  • 局部性能提升。通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升
  • 降低维护成本。通过目前主流的前端MTV框架,我们可以非常快速的定位 及发现问题的所在,客户端的问题不再需要后台人员参与及调式,代码重构及可维护增强
  • 实现高内聚低耦合

为什么要区分前端/后端BUG?

现在,市场上很多应用都是前后端分离开发的。如果是一个多人开发的系统。不能明确定位到这个BUG是谁造成的,任意提交给错误的开发人员,我们又不可能把这些bug同时提交给前端和后端一起去解决,同时提交给提交给前后端开发人员,每个人都会有依赖心理,就像'三个和尚没水喝的道理是一样的'。同样的道理,Bug会像皮球一样被开发踢来踢去,耽误解决bug时间,影响项目进度。

另外,如果团队规模较大,或者由各地的项目组拼凑而成,势必会增加沟通成本,这更需要我们类似禅道或者Jira等项目管理软件中提交bug时,先指明是谁的bug,避免互相踢皮球的现象。

所以测试必须要自己学会区分出是前端还是后端bug,就像时下流行的词‘垃圾分类‘,经过bug分类管理,整个团队的效率都会有所提高。

如何定位前端/后端BUG?

可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口,传参,响应。

1.请求接口Url是否正确

如果请求的接口url错误,为前端的Bug

2.传参是否正确

如果传参不正确,为前端的bug

3.请求接口url和传参都正确,查看响应是否正确

如果响应内容不正确,为后端bug

4.也可以在浏览器控制台输入JS代码调式进行分析

如果定位为后端的bug,可以进一步通过以下方法精确定位是哪里出bug

  1. 查看报错日志,通过日志分析问题点
  2. 查看数据库确认数据的正确性
  3. 查看缓存是否正确

前后端bug各有什么样的特定?

| | 前端bug | 后端bug |
| | :--------: | :----------: |
| | 界面相关 | 业务逻辑相关 |
| | 布局相关 | 性能相关 |
| | 兼容性相关 | 数据相关 |
| | 交互相关 | 安全性相关 |

定位BUG属于前端还是后端,有什么方法?

这里提供了几个方法,可以给大家一个思路,让大家能在学习和工作中了解如何去区分BUG属于前端还是后端。

接口查看法

这种方法是最常用的,我们必须掌握的,常用于查看是后端返回给前端的数据有误,还是前端显示有误。

大多数浏览器都有自带的接口查看工具,如Chrome,FireFox等都可以通过F12开启抓包,在NetWork中可以看到当前页面发送的每个http请求。要想通过接口查看法来判断,你需要先了解Chrome浏览器的Network面板介绍。

日志查看法

当我们发现一个bug,并不确定这个bug属于前端还是后端,可以查看后端服务的日志,复现bug时,查看日志中有没有相关信息。基本可以认为,如果日志没有输出,很可能这个功能并没有与后端交互,也就不存在后端的问题。反之,如果日志有输出,可以进一步查看有无错误日志信息,进一步分析。

经验法

经验法就只能是慢慢积累了。负责的项目多了,自然对功能的实现过程有了解,也就明白如何分类bug了。在平常的工作和实践中慢慢总结,不要只是一味的点点点测测测,总结复盘很重要。

写在最后

PS:这套软件测试的自学教程合集,对于在测试行业发展的小伙伴们来说应该会很有帮助。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/157112.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

短信登录获取图形验证码调用过程

文章目录 短信登录获取图形验证码调用过程1、输入某个要获取短信验证的电话 短信登录获取图形验证码调用过程 1、输入某个要获取短信验证的电话 调用到skin皮肤里面的sms_login里面的xml的按钮控件: 这个按钮属于点击信息在Notify里面收到: void CSMSLoginDlg::Notify(TNotif…

自动化测试,5个技巧轻松搞定

想要在质量保证团队中赢得核心?当你组建你的网络应用时要记住这些技巧,可以变得更容易分析并快速创建更多准确可重复的自动化测试。 1.歧义是敌人 尽可能使你的代码具体化。当然,你已经遵循了W3C标准,对吗?以下有三件…

EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(二):EtherCAT总线初始化

XPCIE1032H功能简介 XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步控制和高速数据传输。 XPCIE1032H集成了强大的运动控制功能,结合MotionRT7运动…

Isight 2023 新功能介绍

​​Isight是一个仿真分析流程自动化和多学科多目标优化工具,它提供了一个可视化的灵活的仿真流程搭建平台,同时提供与多种主流CAE分析工具的专用接口,利用此工具,用户可以方便的以拖拽的方式可视化的快速建立复杂的仿真分析流程&…

达芬奇DaVinci Resolve Studio 18.6.3 for Mac

DaVinci Resolve Studio 18是一款专业的视频编辑和调色软件,适用于电影、电视节目、广告等各种视觉媒体的制作。它具有完整的后期制作功能,包括剪辑、调色、特效、音频处理等。 以下是DaVinci Resolve Studio 18的主要特点: - 提供了全面的视…

一、认识STM32

目录 一、初识STM32 1.1 STM32的命名规则介绍 1.2 STM32F103ZET6资源配置介绍 二、如何识别芯片管脚 2.1 如何寻找 IO 的功能说明 三、构成最小系统的要素 一、初识STM32 1.1 STM32的命名规则介绍 以 STM32F103ZET6 来讲解下 STM32 的命名方法: &…

SpringBoot 2.x 实战仿B站高性能后端项目

SpringBoot 2.x 实战仿B站高性能后端项目 下栽の地止:请看文章末尾 通常SpringBoot新建项目,默认是集成了Maven,然后所有内容都在一个主模块中。 如果项目架构稍微复杂一点,就需要用到Maven多模块。 本文简单概述一下&#xff0c…

无线振动温度传感器设备的振动监测故障诊断

近年来,随着工业领域技术水平的不断提高,工业设备的管理水平也必须紧随其后,既要保证设备的正常运转,同时也要做好日常的保养维护工作。旋转类设备是一种较为常见的工业设备,随着无线振动温度传感器设备的引入&#xf…

百家网约车平台发布“阳光五条” 多举措加强司机保障

11月17日,免佣联盟百家网约车平台发布“阳光五条”,通过加大免佣力度、实行车费保镖司机版、72小时保护期等措施,加强对网约车司机的权益保障。 近年,交通运输部推动交通运输新业态平台企业落实“阳光行动”等工作,加…

MyCat基础入门

1. MyCat安装 去官网下载安装包: 下载路径: 官方网站:http://www.mycat.org.cn/ github地址https://github.com/MyCATApache 上传到服务器上并解压: 它解压后是一个叫mycat的文件夹 去maycat的bin目录下,执行命令 ./my…

修完这个 Bug 后,MySQL 性能提升了 300%

最近 MySQL 官方在 8.0.35 上修复了一个 bug: 这个 bug 是由 Mark Callaghan 发现的。Mark 早年在 Google MySQL 团队,后来去了 Meta MySQL,也主导了 RocksDB 的开发。 Mark 在 #109595 的 bug report 给出了非常详细的复现步骤 在官方修复后…

电源模块输出过冲如何产生?测试标准及其测试方法是什么?

输出电压过冲是一个常见的电路问题,它是指在电路中的电压超过了规定的范围,严重的话会造成系统不稳定,导致元器件、负载以及设备损坏。那么造成输出电压过冲的原因有哪些呢?电源自动测试系统要怎么测试输出过冲? 输出电压过冲产生…

基于SpringBoot、Vue的电影院管理系统

一、管理端 1.登陆界面 2.影院管理界面 3.电影信息管理页 4.订单信息管理页 二、 用户 1.登录页 2.首页 3.个人中心 4.监控大屏(此功能可单加) 需要的同学可以私我v哟 jg低廉 包调试安装

人体状态检测YOLOV8 NANO

人体状态检测Y8N,能检测站立、奔跑、跌倒、坐下、蹲下五种状态,采用YOLOV8NANO训练,转换成ONNX,OPENCV DNN调用,支持C/PYTHON/ANDROID开发 人体状态检测Y8N

Visual Components数字化工厂虚拟仿真软件 衡祖仿真

数字孪生、人工智能、工业互联网、边缘计算这些概念在整个产业里非常的火热,但是,如果这些概念没有“模型”作为基础的话,那么这些概念都只能是空中楼阁无法落地。而仿真技术是利用这些模型在计算机中构建一比一的真实场景,使得在…

MessageSourceUtil读取资源文件

在处理返回值提示的时候,需要根据local返回中文或者英文,因此要使用到国际化内容 操作 1,新建资源文件 在src/main/resources源文件夹下创建一个i18n的子目录, 然后创建中文和英文对应properties文件,然后输入自己的…

Hive Lateral View explode列为空时导致数据异常丢失

一、问题描述 日常工作中我们经常会遇到一些非结构化数据,因此常常会将Lateral View 结合explode使用,达到将非结构化数据转化成结构化数据的目的,但是该方法对应explode的内容是有非null限制的,否则就有可能造成数据缺失。 SE…

【机器学习10】循环神经网络

1循环神经网络 RNN通过将神经元串行起来处理序列化的数据。 由于每个神经元能用它的内部变量保存之前输入的序列信息,因此整个序列被浓缩成抽象的表示, 并可以据此进行分类或生成新的序列。 2 循环神经网络的梯度消失或梯度爆炸问题 传统的循环神经网…

websocket学习

写在前面 新公司用到了websocket技术&#xff0c;所以这里学习下。 1&#xff1a;Java原生 1.1&#xff1a;maven <dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.5.3</ver…

代码随想录算法训练营第五十七天丨 动态规划part17

647. 回文子串 思路 动态规划 动规五部曲&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 如果大家做了很多这种子序列相关的题目&#xff0c;在定义dp数组的时候 很自然就会想题目求什么&#xff0c;我们就如何定义dp数组。 绝大多数题目确实是…