作为一名测试人员,BUG对我来说真的又爱又恨,找不到BUG忙忙叨叨没成果,找到了BUG开发大兄弟觉得我很烦。所以我觉得像教导主任,学生(软件)成才,跟我没关系。学成(软件)没成才,教导主任没起到应有的作用,撤职。
1.缺陷(BUG)的定义
1)需求中要求的功能没有实现。
举例:用户点了一盘宫保鸡丁,你给上来一盘辣子鸡丁
2)实现了需求中没有要求的功能.(画蛇添足)
举例:用户点了一盘宫保鸡丁,你给上了一盘宫保鸡丁还多了上了碗米饭
3)需求中虽未明确说明,但是应该实现的功能没有实现。
说明:需求不是完美的,有可能有遗漏,不能因为需求有问题,就导致测试也有问题。
举例:用户点了一盘宫保鸡丁,你上了宫保鸡丁却没给拿筷子
4)软件中出现了指明不应该出现的错误。
扩展:软件的两个基本要素
a)软件的功能要能够实现。
b)软件要有强大的异常处理能力。(健壮性)
举例:用户点了一盘宫保鸡丁,说明不要辣椒,你上了一盘带辣椒的宫保鸡丁
5)软件不易使用、难以理解、运行缓慢等,站在用户角度上,一切不好的地方。
举例:用户点了一盘宫保鸡丁,上来的宫保鸡丁口味太咸,特别辣
我是多爱宫保鸡丁!!!唔哈哈哈
2.缺陷报告
测试人员发现缺陷,并把缺陷记录在《缺陷报告》中,通过缺陷报告形式告知开发方,并对缺陷进行
跟踪和管理。一般都是使用缺陷管理工具,直接使用像禅道,JIRA,等工具也可直接使用EXcel
3.缺陷报告的组成
a).禅道提交缺陷(BUG)的界面如下图
b).缺陷的基本字段
(1)缺陷编号
发现缺陷的顺序号,整个项目统一编号
(2)缺陷标题
简短扼要的说明发现缺陷(BUG)说明,我一般写是条件+产生问题
(3)缺陷发发现者
测试人员自己账号/姓名
(4)提交缺陷日期
提交缺陷(BUG)时间,出现问题及时提交
(5)缺陷所属模块
在哪个功能模块中发现的该缺陷
(6)发现缺陷版本
那个版本出现的缺陷编号,有可能是集成测试发现,测试版本发现,或者正式版本,一般有版本都有自己编号
(7)指派给谁处理
直接指派开发,还是指派给开发经理,视情况和公司而定
(8)状态*
新的缺陷--new
激活的缺陷--open
已修复的缺陷--fixed
关闭的缺陷--closed
拒绝的缺陷--rejected
重新激活的缺陷--reopen
(9)缺陷的严重程度*
一般分为四级
1.非常严重的问题
2.严重的问题
3.中等性的问题
4.建议性的问题
(10)缺陷的优先级*
一般也分为四级
1.立刻解决
2.尽快解决(这个定义我觉得是俩三天或者当前模块集成之前)
3.交付或发布之前解决
4.可以下一版本或后期补丁解决
优先级这个是我自己理解的
(11)缺陷的描述
将发现缺陷的过程,数据记录下来,使开发人员可以重现该缺陷。(开发人员要能看明白,不要带有情绪和评价的语气。不然被K了玩急眼,就不好了)
c).优先级和严重程度的问题
Q1:影响缺陷优先级的因素有哪些?
1)缺陷的严重程度,一般越严重的缺陷,优先级越高。
2)开发人员的开发压力,开发压力越小,优先级越高。
3)缺陷影响的范围,影响范围越大,优先级越高。
4)解决缺陷所花费的成本(时间),成本越低,优先级越高。
Q2:缺陷的严重程度和优先级是严格(绝对)成正比关系吗?
不是严格正比关系,例如:界面中有错别字,虽然严重程度低,但是优先级却较高。
Q3:缺陷的严重程度和优先级确定后还能修改吗?
缺陷的严重程度一般确定后是不能更改的。
缺陷的优先级可以修改,开发方根据实际情况经常会做拖延处理。
Q4:在发布的软件产品中,是否会有发现但没有解决的bug?
有可能会有发现但没解决的bug存在于发布的软件产品中。
在实际应用中,对于该类缺陷需要开bug讨论会,权衡解决bug的成本,和不解决bug是否会给用户带来严重影响,以及法律纠纷后,才能最终确定。
对于该类bug,软件公司会在后期,通过版本升级或打补丁的方式给予解决。
4.缺陷(BUG)生命周期
5.关于缺陷(BUG)那个阶段引入最多?哪个阶段引入最少的问题
需求分析阶段引入的bug最多(大概占bug总数的55%左右);其次是设计阶段(大概占缺陷总数的25%左右);
编码阶段引入bug最少(只占缺陷总数的15%左右);还有5%左右的bug是由兼容性问题和配置原因造成的。
由此得出结论:1)测试工作不能只测程序,文档也必须要测;2)测试工作应该要尽早介入,并且要贯穿整个开
发过程始终。(尽早测试原则、不断测试原则) 尽早测试可以降低解决缺陷的成本。
我是测试的小学生,欢迎一起讨论。文章内容来源于网络和自己的总结。