软件测试遇到bug怎么分析,看看字节5大哥司机是怎么秀利用的...

分享
手机软件开发 2024-9-30 17:47:47 51 0 来自 中国
为什么定位标题云云紧张?
可以明确一个标题是不是真的“bug”
许多时间,我们找到了标题的缘故原由,效果发现这根本不是bug。缘故原由明确,误报就会低沉
多个系统交互,可以明确指出是哪个系统的缺陷,防止“踢皮球”,进步标题办理的服从
增强开发对测试的信托度,沟通更有用,共同的更好,开发修改bug时效增强
更有用的相识系统的内部逻辑、数据流处置惩罚流程,更能进步测试人员的程度,缺陷修复后,影响的测试范围评估更精准,复测更精确
可以低沉缺陷率
这个可以说是最紧张的。在bug系统中,会要求开发人员记载bug产生的缘故原由。只有我们本身对bug有一个较全面的认识,才会鉴别出开发写的是不是真正的缘故原由,也才华有助于我们后续对bug举行分析归类,根据bug分析,有针对性地未雨绸缪,进而提拔产物格量,低沉缺陷
01、定位缘故原由之前
遇到标题时,先别急着去定位缘故原由。
1、生存bug产生的记载:
重要做的是生存bug产生的记载,包管可以复现。
为什么要生存记载?由于如果以后不能复现,那就不能证实bug的存在。
2、扫除低级标题:
然后是扫除QA的低级标题,常见的低级标题:
【hosts不对】
hosts文件重要是加快某个域名大概网站的分析速率,从而到达快速访问的作用,也可以屏蔽网站。
hosts异常大概会导致部分网页无法访问,能够加载,但是网页无法正常表现。
【网络不通】:抓包、ping
工具的影响导致的,例如fiddler
以及利用姿势不精确等。
3、扫除数据标题(脏数据):
偶尔候会遇到服务端报500错误,查察日志后,报空指针,那么很有大概就是数据库中关联表的数据被人为删掉导致的。
脏数据:从目的中取出的数据已颠末期、错误大概没故意义,这种数据就叫做脏数据
脏读:读取出来脏数据就叫脏读
02、定位标题的思绪
排查次序:
用户情况层面 -> 展示层面 -> 逻辑控制层面 -> 服务层面 -> 数据库层面
1、用户情况层面
重要是指底子情况是否可以使用。比如:
网络是否ping通
ip和端口设置是否精确
jdk版本是否符合标准
有大概是由于jdk版本不兼容导致系统运行异常,这种标题根据现实情况来决定要不要兼容。
网络设了署理
弱网(如js/css未加载完全、哀求超时)
欣赏器不支持
系统版本不支持
数据库被删除
测试情况脏数据
项目设置开关
测试情况切了分支等
查抄完成后,可以转到第二步
2、用户展示层
用户在使用过程中,通过查察等利用发现的一些标题:
页面样式(css样式标题)
交互过程中js的提示(js交互标题)
终端控制的提示信息
文本的展示(html文本标题)
3、逻辑控制层
用户利用过程中,业务的处置惩罚逻辑有没有按照前期的计划实行。大概中心环节出现异常,比如缓存服务器(如redis)、消息中心件(如rabbitMQ)、数据存取中心件等。
4、服务层
服务层每每查抄服务器的设置,如大概是tomcat设置、nginx设置、jdbc设置等的标题。测试人员最好能够相识下它们的各项设置。
5、数据库层
大概出现测试情况和正式情况数据库版本不同,前后端数据格式、长度限定不同。用户利用完成后,交易流程非常顺畅,如许也不代表整个交易没有标题,还必要测试人员查抄数据库登记的表和字段是否精确
如果发现登记的字段与预期的效果不同等,则可以查察日志,查抄哀求报文送的字段是否精确,是否与前台填写的同等
有的一个利用会登记多张表,以是要查抄多张表登记大概更新的是否精确,测试人员也必要对被测系统的数据表布局认识
6、履历法则
有履历的测试人员对于有部分bug已经见过多次,能够很快找到根源,直奔主题,迅速陈诉大概办理bug
7、其他
常见的bug大概尚有构建方面的缘故原由
比如代码本身没错,但是归并代码到主干后出现了标题
比如代码存在辩论时手动办理的情况
03、定位标题的方法
1、常用的定位战略:
常用的定位战略分为三类:原始类(brute force)、回溯类(backtracking)、扫除类(causeeliminations)
原始类定位方法
原始类定位方法是最常用也是最低效的方法,只有在万般无奈的情况下才使用它,重要头脑是“通过盘算机找错”。
回溯法
回溯法能成功地用于步伐的排错
方法是从出现bug征兆处开始,人工地沿控制流程往回追踪,直至发现堕落的根源,不幸的是步伐变大后,大概的回溯蹊径显着增长,以致人工举行完全回溯到望而不可及。
扫除法
基于归纳和演绎原理,采取“分治”的概念。
起首确定全部与bug出现有关的全部数据,假想一个导致bug的缘故原由,用这些数据证实或反驳它。大概一次列出全部大概的缘故原由,通过测试逐一扫除。只要某次测试效果说明某种假设已出现倪端,则立刻精化数据,乘胜追击
2、查察状态码
4xx状态码:一样平常表示是客户端标题(固然也有大概是服务器端设置标题),比如:
发生了401,那么要看下是否带了精确的身份验证信息
发生了403则要看下是否有权限访问
404则要看下对应的URL是否真实存在
5xx状态码:一样平常表示服务端出现标题。比如:
发生了500错误,则表明是服务器内部错误,这个时间要共同服务器log举行定位
发生了502错误则大概是服务器挂了导致的标题
发生503错误大概是由于网络过载导致的标题
发生504错误则大概是步伐实验时间过长导致超时
3、查察服务器日志
如果发生5xx标题,大概必要查抄后端接口实验的sql是否精确,我们最常见的排查方法就是去看服务器日志,比如tomcat日志。开发人员一样平常会打出关键信息和报错信息,从而找到标题地点,以是,测试人员也要养成看日志的风俗。
4、查抄设置
许多时间,bug不是代码的标题,而是tomcat设置、nginx设置、jdbc设置等的标题。在这个层面上,测试人员最好能够相识下它们的各项设置,在发现标题后大概就会想到这方面的标题。
5、查察需求文档
偶尔候,前端和服务端的交互都精确,但是从测试的角度看不公道。这个时间,我们应该翻翻需求文档。如果和需求文档不符,那么就要看下改什么比力公道,是改前端,照旧改服务端,大概两者都要改。
这里有一个原则,就是前端尽大概少地去负担逻辑,只负责渲染显现。固然,不要以为需求文档就全部精确,它也大概会有错误,我们也应该去发现需求文档的bug,然后再去协调PM,敦促FE大概RD举行修改。
6、向开发寻求可测性支持
偶尔候,涉及到开发过程的一些测试,也必要开发提供可测性支持。
比如,要查察接口给另一个接口发的哀求是否精确,可以让开发打印出完备的哀求log,尚有一些逻辑开关、修改页面数据条数等,都属于可测性支持的范畴。
04、bug定位常用工具
Firefox——firebug、web developer、live http - headers、http fox
IE插件——httpwatch
第三方工具——fiddler
慢速网模拟工具——firefox throttle
05、怎样区分前端/后端bug
为什么要区分前端/后端BUG?
如果是一个多人开发的系统,不能明确定位到这个bug是谁造成的,轻易提交给错误的开发人员。
同时提交给前后端开发人员,每个人都会有依赖生理,bug会像皮球一样被开发踢来踢去,耽误开发办理bug的时间。
别的,如果团队规模较大,大概由各地的项目组拼集而成,势必会增长沟通资本,这更必要我们在雷同禅道大概Jira等项目管理软件中提交bug时,先指明是谁的bug,制止相互踢皮球的征象。
以是测试必须要本身学会区分出是前端照旧后端bug,颠末bug分类处置惩罚,整个团队的服从都会有所进步。
前后端BUG各有什么样的特点?
1、使用抓包工具来举行分析
一样平常有httpwatch,firebug,fiddler,charles等抓包(数据包)工具。
httpwatch,firebug都是欣赏器的插件,必要额外下载
fiddler,charles也必要额外下载安装包另行安装
尚有一个简单实用的抓包工具,那就是欣赏器的F12调试器
2、定位前端的bug
前端的bug通常是功能、界面和兼容性等有关,涉及到jstl,jsp,js,css,html方面比力多。bug重要有两块:
JS干系
页面
3、定位后端的bug
后台涉及到servlet,jms,ejb,尚有许多框架struts,hibernate,spring,ibatis等
bug 比力难改,但是好找,重要就是看控制台报错,然后定位错误行号。如果设置文件没有标题,那么一样平常的报错就是空指针,大概是数组下标越界。看附近变量,看方法的参数根本上都可以定位错误。
06、定位完标题后
在发现标题大概定位到标题缘故原由后,肯定要举行一步,就是再次确认标题。所谓确认标题,就是弄清楚标题是否每次都发生,照旧概率事故,大概是工具干系的标题:
比如换个欣赏器是否依然出现?如果换个欣赏器不出现的话,很大概就是前端的兼容性标题。
比如翻页控件,待测的系统有许多页面都有翻页控件,那么就要看下是否每个页面都会出现这个标题,进而报bug时举行同一说明,也更加方便开发人员批量处置惩罚,防止漏改。
技能提拔


末了感谢每一个认真阅读我文章的人,看着粉丝一起的上涨和关注,投桃报李总是要有的,固然不是什么很值钱的东西,如果你用得到的话可以直接拿走
1.png 这些资料,对于做【软件测试】的朋侪来说应该是最全面最完备的备战堆栈,这个堆栈也伴随我走过了最困难的路程,盼望也能资助到你!凡事要赶早,特别是技能行业,肯定要提拔技能功底。盼望对各人有所资助…….
关注我的微信公众号:【步伐员小濠】即可获取这份资料了!
如果你不想再体验一次自学时找不到资料,没人解答标题,坚持几天便放弃的感受的话,可以加入我们的群:779450660 各人一起讨论交换,内里也有各种软件测试资料和技能交换。
如果对你有资助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-22 00:24, Processed in 0.193920 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表