一、缺陷概述
1)缺陷(Defect):是指存在于软件之中的偏差,可被激活,以静态形式存在于软件内部,相当于Bug。
2)故障(Fault):当缺陷被激活后,软件运行中出现的状态,可引起意外情况,若不加处理,可产生失效,是⼀个动态行为。
3)失效(Failure):软件运行时产生的外部异常行为结果,表现与用户需求不⼀致,功能能力终止,用户无法完成所需要的应用。
4)Bug:电脑系统或者程序中存在的任何⼀种破坏正常运转能力的问题或者缺陷,都可以称之为“Bug”;有时也泛指因软件产品内部引起的软件产品最终运行时和预期结果的偏离。
5)缺陷报告单:指测试执行过程中,发现缺陷失效后,提出书面的报告,提供给开发人员作为定位缺陷的依据。
二、缺陷类型
1)建议:针对一个产品的,提出自己的建议,这个建议只能给产品经理,不能说是问题,产品经理可以接收,也可以不接受。
2)优化:优化是提交给程序员和产品经理,不一定非要修改,如果衡量不修改,也可以拒绝修改,也可以遗留到后期修改,也可以由优化来产生新的需求。
3)BUG/缺陷/Issus:指的就是产品的期望结果与实际结果不一致。
4)故障:一般指的是生产环境中产品出现严重的问题,导致产品不可用或者是雪崩(当雪崩的时候,没有一片雪花是漂亮的)。
三、缺陷状态
主要描述缺陷当前的状态。状态如下:
1)新建:测试人员新提交的bug、优化或者建议的状态。
2)进行中:开发人员确认是bug,在修复bug过程的状态。
3)已解决:开发人员已修复bug的状态。
4)已关闭:测试人员验证修复的bug,确定已解决问题的状态。
5)不解决:开发人员认为不是bug,拒绝解决问题的状态或者无法解决问题的状态 。
6)重开:测试人员验证修复的bug,发现没有完全修复好bug,重新打回开发人员的状态。
7)暂缓:开发人员认为该bug不急于修复,可以放置⼀段时间再修复的状态。
四、缺陷生命周期

流程:
1、发现问题后提交问题给具体的开发人员;
2、开发人员核对问题后,如果是问题,进行修改;
3、开发把修改后的问题反馈给测试,测试这边验证,如果通过,就关闭问题;
4、开发人员发现此bug不是问题,反馈给测试,拒绝修改,测试这边核对不是问题,撤销该问题;
5、开发把修改后的问题反馈给测试,测试这边验证还是没通过,再次反馈给开发。
五、缺陷级别
1)致命:系统崩溃、数据丢失、数据毁坏、安全性被破坏。【故障:系统崩溃、数据丢失、系统雪崩】
2)严重:操作性错误、结果错误、功能遗漏。【严重问题:逻辑问题、影响流程功能】
3)⼀般:小问题、拼写错误、UI布局、罕见错误。【一般:页面交互、浏览器兼容性、错误提示信息不合理】
4)建议:对产品的改进建议。
六、缺陷优先级
优先级表示修复缺陷的重要程度和紧迫程度。
1)紧急:影响进⼀步测试,需要立即修复。
2)高:必须在版本发布前修复。
3)中:必须要修复,不⼀定马上修复,可以讨论确定在某个时间节点修复好。
4)低:对产品影响比较少,不修复也不影响产品的发布,在时间不允许的情况下可以暂时不修复。
七、缺陷的书写
1、BUG的要素:(4个) a、前提条件 b、测试步骤 c、实际结果 d、期望结果
2、BUG书写时需注意:
1)BUG步骤一定要具备可操作性(操作步骤要清晰,通俗易懂)
2)提交的BUG最好有错误的截图信息以及日志信息
3)页面交互/错误提示信息:最好有错误截图
4)后台错误(如一码通扫描二维码出不来,一直加载):
a、加载不出来的地方截图;
b、加载不出来的地方,导出后台错误的log(就是扫描时候的日志,一直到加载不出来的日志信息)。
5)单纯的后台服务:从后台获取错误日志信息(出问题那个时刻的日志上下文,如出问题是09:50:55,那么获取的日志是55(53-57)秒的下上文)
八、缺陷实战
以智联招聘的登陆界面为例:
1、前提条件:
a、首页可以访问
b、登录的手机号输入框可以输入
2、测试步骤:
a、在登录的手机号输入框里面输入了“11111111111”;
b、输入后就自动获取验证码。
3、实际结果:输入不规范的手机号码依然能够获取验证码。如下图:
URL网址:https://landing.zhaopin.com/register?utm_source=baidupcpz&utm_medium=cpt&utm_provider=partner&sid=121113803&identity=c
4、期望结果:输入不规范的手机号码,不能自动获取手机验证码。
问题:本次迭代所有BUG必须要解决嘛?
1、每个迭代的BUG不一定所有要解决的;
2、不能解决的的情况: A、很难解决,需要很长时间; B、可以解决也可以不解决,不是紧急的。
3、针对必须要解决但是又影响范围很大,这个时候作为测试的操作行为:
A、需要把实际情况反馈给测试负责人;
B、由来你主持会议(会议参与人:产品经理,开发,开发负责人,测试,测试负责人,pm,pmo)