测试新手村学习技能四:缺陷管理(bug管理)
我是爱吃粽子的佩奇。一个在互联网行业苟且偷生的测试~
缺陷,也就是传说中的bug,是怎么产生的呢。从项目开发完成后,都需要经过测试才能发版上线,那我们这篇就来聊一聊bug。包括管理bug的工具
什么是bug:
官方一点讲bug就是软件程序的漏洞或缺陷。但其实bug其实就是应为程序运行的时候,开发人员因为一些原因导致功能出现问题,严重的导致不能运行或者崩溃影响业务。现在的业务一般都是前后端分离使用接口来做桥梁,所以也会区分是前端还是后端的bug,怎么区分呢 ,app可以使用抓包工具,网页的话 可以直接F12看入参和出参判断是前端还是后端的问题。找到bug后我们也会对bug从严重等级进行一个分类
下图是bug的生命周期:
bug等级分类:
【P0—紧急】:
完全不能满足产品要求,基本功能明显未实现或完全不可用,阻塞测试流程与进度(核心功能流程)
1、功能未实现 、功能缺失
2、业务流程不正确
3、闪退
4、数据未上报
5、越权(付费与免费)
6、数据统计计算错误
7、用户信息丢失或错误,如升级及覆盖安装后数据异常
8、币种显示错误
9、严重视觉(UI)问题:核心页面
10、页面显示(元素不可点、核心页面错乱)
11、安全问题(XSS、SQL等注入)
12、系统兼容性问题导致主要功能异常(如:按钮被遮挡无法进行下一步操作)
13、不可忍受的卡顿、慢(大于30s)
14、 其它导致无法测试的错误, 如:服务器500错误
【P1—高】:
产品的功能实现和需求不符合,没有达到预期的效果,但不阻塞测试进度(非核心功能流程,不影响其他功能)
1、小功能未实现,小功能缺失(如:打电话等)
2、概率性的闪退
3、页面显示(未按照UI实现,用户体验较差)
4、繁简体显示错误
5、跳转错误(示例:FaceBook打开计算器跳转到了官网)
6、页面加载较慢(大于15S)
7、排序未实现
8、明显的卡顿(可稍微忍受)
9、系统兼容性问题导致次要功能异常(如:页面未显示全,但是不影响功能的使用)
10、异常情况处理缺失,如断网、弱网、中断操作(前后台切换)
11、 类型、边界条件下发生错误(如:仅输入数字年龄,但可输入其他字符,并不报错)
12、 光标跳转设置不好,鼠标(光标)定位错误
【P2—中】:
比较小的功能、UI或交互问题,可以绕过此类问题来进行测试。
1、概率极低的闪退
2、占比率低的非主流系统兼容性闪退(Android的某些机型)
3、Toast提示文案错误
4、OSS文案(显示文案、提示文案)错误
5、页面加载较慢(大于8S)
6、概率性发生的缺陷
7、字体大小不统一
8、文字排列不整齐
9、文案过长被遮挡、未截断或未换行
10、辅助说明描述不清楚或未给出
11、删除未给出二次确认
12、非常规操作或非常规路径、如多步复合操作后才能复现的问题(用户一般不这么操作)
13、交互体验类bug:与系统交互或常人认知不符的交互问题
14、UI兼容性/适配问题
15、该隐藏的部分未隐藏(如:该****提示的未标出)
16、安全保护代码:参数检查,判空,数组越界保护,类型溢出
17、 操作时未给用户提示(如:toast提示)
【P3—低】:
一些可修改或不可修改,或者是还不确定能否修改成功的bug,均不影响用户体验使用
1、极少机型的适配问题
2、建议类bug,可修可不修,修了最好,不修不影响发布版本
3、延期处理的缺陷(开发确定是缺陷,不影响当前上线,开发可在上线后处理)
4、挂起的缺陷(开发人员待找技术解决方案)
缺陷管理工具:
现在市面上常见的缺陷管理,禅道,jira等等,但总结一下就是一个记录并且跟踪缺陷生命周期的一个工具,但是呢为什么会有衍生出这么多个管理工具,自然有各自的优势和劣势。但需要都知道吗?我个人觉得可能没这个必要,但是,必须要了解缺陷的严重等级和提缺陷的几大要素,工具只是一个辅助作用,还是要看使用的人包括人所储存的知识量!