干货!!!测试如何确定是前端bug还是后端bug
目前的项目大多数都是前后端分离的,当我们发现bug后不知道指派给哪位开发,指派错了不仅影响解决bug 的效率,还容易被开发怼。最主要的是人家会认为你不专业,不专,不专呀。废话少说,上干货(踩过的坑)!
测试中发现问题不要着急提bug,首先确定我们测试的这个系统是不是开发提测最新的一个版本,比如开发自己发现了这个bug,然后又提测一版,但我们还用的上一个版本。这时候把bug提上去,开发会把bug直接打过来(附带一句:这个bug已经解了,用新包。。。)。
然后排除测试环境的干扰(如:网络环境,配置项)在测试的时候我们往往开启网络代理对数据进行拦截,导致某些数据加载失败,所以确保网络环境是正常的。再比如我们在测试环境后台添加的数据,在正式环境测试,会出现数据匹配不上的问题,所以要确定环境一致。有些app要开启手机系统权限如:悬浮窗、开启消息通知、获取相机权限等,如果这些权限不开启,会出现收不到消息和系统权限,所以我们要确保这些权限是开启的。
最后,如果以上两个步骤都没问题,我们再根据测试用例、需求文档、接口文档、UE等确定功能模块,开开心心的提bug了。这时候就要显示你的神通,该用的工具全部用上如:fiddler,浏览器的开发者模式,wireshark,linux命令,SQL语句等。总结如下:
1、通过抓包或者开发者模式过滤信息
a、传入参数错误(缺参、错参等),导致的问题往往是前端bug;
b、传入的参数与接口文档一致,数据返回正确,界面显示错误(字段取错),往往是前端的bug;
c、传入参数正确,数据返回错误,往往是后端的bug。
d、根据响应状态码:404客户端请求路径错误,500服务器内部错误
2、根据前后端的bug特点来定位问题
a、前端bug特点:界面相关(文本问题可能是html产生的bug)、布局相关(样式问题可能是css产生的bug,图片尺寸分辨率等)、兼容性相关
b、后端bug特点:业务逻辑相关(排序、分页)、数据相关、性能相关、安全性相关。
3、查询系统日志
如果查不到错误日志前端的问题概率大,反之后台的问题。
4、通过sql语句查询数据,是否有数据入库。
有些项目接口与接口之间存在相互调用,不同的接口是不同的开发人员,我们可以通过查询数据的方式来区分哪个接口问题。比如:在A模块添加一条数据,但是在B模块没有展示,这时我们 通过查询数据库的数据来确认,是A模块没有插入数据,还是B模块没有查询到数据来缩小问题的范围。
5、根据测试经验
软件测试人员应不断精进自己的技能,负责的项目多了,自然对功能的实现过程有了解,也就明白如何分类BUG了。再就是与开发人员多沟通,熟悉业务,每个模块是哪个开发负责的。
总之,学无止境,我们不要怕踩坑,踩过的坑再踩才很可怕。
干货!!!测试如何确定是前端bug还是后端bug的更多相关文章
- (转)测试如何区别是前端的问题还是后台的bug
常常说到的一个IT项目,包括前端开发,后台开发,软件测试,架构,项目经理,产品需求.那么对于一位优秀的软件测试工程师来说,需要区分前端和后台的工作就显得尤为重要. - 什么是前端和后台 简而言之,前端 ...
- 如何区分前端BUG和后台BUG?
测试工程师不只是负责发现问题,除了发现问题这种基本功外,定位问题,提出解决方案,提出预防方案也是要掌握的技能.这里先说定位问题的要求,定位问题要向深入,前提当然是对功能.产品的流程.开发方案.开发人员 ...
- 巧用浏览器F12调试器定位系统前后端bug
做测试的小伙伴可能用过httpwatch,firebug,fiddler,charles等抓包(数据包)工具,但实际上除了这些还有一个简单实用并的抓包工具,那就是浏览器的F12调试器. httpwat ...
- 如何判断前后端bug
测试工程师不只是负责发现问题,除了发现问题这种基本功外,定位问题,提出解决方案,提出预防方案也是要掌握的技能.这里先说定位问题的要求,定位问题要向深入,前提当然是对功能.产品的流程.开发方案.开发人员 ...
- 测试通过!为何线上还有很多BUG?实践中的质量控制
质量控制 大多数测试人员认为测试工作是发现bug,虽然这是测试的主要任务,但其实测试最重要的任务是质量控制,而发现bug和验证bug只是质量控制的一个重要环节而已. 我想很多测试人员都经历过这样的场景 ...
- 测试通过!为何线上还有很多BUG?
质量控制 大多数测试人员认为测试工作是发现bug,虽然这是测试的主要任务,但其实测试最重要的任务是质量控制,而发现bug和验证bug只是质量控制的一个重要环节而已. 我想很多测试人员都经历过这样的场景 ...
- bug生命周期&bug跟踪处理
一.BUG BUG:软件的缺陷 1.BUG的定义:----与软件测试的目的对应 软件的BUG,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节.或 ...
- JavaScript前端和Java后端的AES加密和解密
在实际开发项目中,有些数据在前后端的传输过程中需要进行加密,那就需要保证前端和后端的加解密需要统一.这里给大家简单演示AES在JavaScript前端和Java后端是如何实现加密和解密的. 直接上代码 ...
- 前端基于react,后端基于.net core2.0的开发之路(1) 介绍
文章提纲目录 1.前端基于react,后端基于.net core2.0的开发之路(1) 介绍 2.前端基于react,后端基于.net core2.0的开发之路(2) 开发环境的配置,注意事项,后端数 ...
随机推荐
- Codeforces Round #479 (Div. 3) F. Consecutive Subsequence (DP)
题意:给你一个长度为\(n\)的序列,求一个最长的\({x,x+1,x+2,.....,x+k-1}\)的序列,输出它的长度以及每个数在原序列的位置. 题解:因为这题有个限定条件,最长序列是公差为\( ...
- 使用Github+jsDelivr搭建图床和存储服务
使用元素 我的博客NLNet 并未搭建自己的博客,使用博客园(cnblogs),自定义了主题NLNet-Theme. 写作工具Typora 优秀的Markdown编辑器.参考NLNet-Theme,我 ...
- Mac下anaconda的安装和基本使用
Mac下anaconda的安装和基本使用 安装 在conda官网下载安装conda. 打开terminal输入conda -V,回车显示conda的版本说明安装成功. 将conda更新到最新版本 co ...
- Linux POSIX共享内存方法&ipcs &struct shmid_ds
内容是主进程创建子进程计算斐波那契数列. 其中计算到第几项是有主进程命令行输入. 共享内存段,并且查看了一些信息. 参考操作系统概念第七版 3.10,3.11 关于LINUX C库函数 中的 fpri ...
- vue & this.$router.resolve
vue & this.$router.resolve gotoAutoUpdate (query = {}) { const { href } = this.$router.resolve({ ...
- javascript module system all in one
javascript module system all in one AMD & CMD https://github.com/amdjs/amdjs-api/wiki/AMD http:/ ...
- 如何使用 js 扩展 prototype 方法
如何使用 js 扩展 prototype 方法 expand prototype function enhancedLog(msg = ``) { // this.msg = msg; enhance ...
- 如何使用 js 实现一个 debounce 函数
如何使用 js 实现一个 debounce 函数 原理 防抖: 是指在指定的单位时间内,如果重复触发了相同的事件,则取消上一次的事件,重新开始计时! 实现方式 "use strict&quo ...
- live chat for website UX
live chat for website UX increase customer satisfaction using a live chat https://crisp.chat/en/live ...
- linux bash which
linux bash which https://linuxize.com/post/linux-which-command/ Linux which command is used to ident ...