心念旧安,夙夜忧叹。

关于缺陷的优先级和严重级别

上一篇 / 下一篇  2007-03-11 02:49:08 / 个人分类:原创文章

s`;Sj3W(Y@'p0今天看到论坛里一个学员在问“到底应该是谁把缺陷状态置为PostPone,Rejected,Duplicate是Developer还是PM或CCB?”,还有学员对优先级这个字段理解的不够透彻,原话是“优先级的填写要看情况的。因为有时Tester 开的bug 很多,而PM又有好多TESTER,那PM就来不及去一一看那些BUG了,这时Priority就得由tester填写”,而论坛里还有同学找了篇英文的文章来告诉大家“看,老外都是这么做的”。

.}&[6B:G\NzHb0

_0\(CQOo0我觉得有必要给大家解释透这两个概念,这样不至于在日后的工作中做错。

s0SV@|S051Testing软件测试网6W8d+{6gZ

以下粉红色部分是对那篇英文的引用,后面则是我的回答(结合微软的实际例子给大家说明)。

w@3rBh$XR8CB*V0
QUOTE:
原帖由rivermen于 2007-3-9 09:12 发表51Testing软件测试网 xbm+~M6`R9a
51Testing软件测试网gD;m%c3CgME^F?0C
c) The tester then selects the priority of the defect:
yy*` ]6v} m051Testing软件测试网\ Y;wUF0? CN
Critical - fatal error
x g0Q l1Ft:@2r;Z4W q0High - require immediate attention51Testing软件测试网-l0Su C,kWB1{-X
Medium - needs to be resolved as soon as possible but not a showstopper51Testing软件测试网 NJ#x7HK8maL i k
Low - cosmetic error
51Testing软件测试网H*AZW ]Jp


e2O-_4a)Xr`X0从这篇文章来看,这段英文描述是有问题的——不能说不对,至少不合理。51Testing软件测试网 X5b Z2MW
优先级不应该给tester指定,这也是很多缺陷流程制定者容易忽略到的地方——很大一部分原因是流程制定者没有做过项目管理的工作或者学习过项目管理的知识。51Testing软件测试网pl mV$R%n
51Testing软件测试网:e_/gUAb
为什么这么说呢?51Testing软件测试网!}4Wk,BSR.Sf
因为Tester只是项目团队的成员之一,对缺陷管理、项目进度和项目风险都不可避免的会“盲人摸象”、“管中窥豹”,只“看”到自己“看”到的那个部分。
7Ug)AZqp+v&z0一般来说,一个被测系统往往需要多个tester的,而每个tester往往只关注自己发现的bug,不大会去了解其他tester所发现的bug,那么在这种情况下,他如何能够决定这个bug被修复的优先级别呢?!51Testing软件测试网B y \%paB
这里再次强调一次,大家必须了解“Priority”真正的含义和作用——它是给管理者来据此做项目决策的,也就是说,缺陷优先级将直接导致工作安排的优先顺序。PM正是通过参考缺陷优先级来安排开发人员的工作顺序(这甚至能在Project里体现),使得项目风险降低、项目成本降低,解决问题更高效。51Testing软件测试网p A[`^-@'w|*d
其实,这在微软内部就叫做“基于风险的测试”,也就是指评估测试的优先级,先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做。有如下一个图,横轴代表影响,竖轴代表概率,根据一个软件的特点来确定:如果一个功能出了问题,它对整个产品的影响有多大,这个功能出问题的概率有多大?如果出问题的概率很大,出了问题对整个产品的影响也很大,那么在测试时就一定要覆盖到。对于一个用户很少用到的功能,出问题的概率很小,就算出了问题的影响也不是很大,那么如果时间比较紧的话,就可以考虑不测试。51Testing软件测试网xfF^4nH `

ep2m)?oCyI#KH$?0以下是微软公司的缺陷流程(不知道现在做微软外包的公司是否也采用这套流程),给大家参考参考。51Testing软件测试网S+q&RI7Wa.LiMI
Bug跟踪过程
$z#rF/q,SB,W;D.X0     在软件开发项目中,测试人员的一项最重要使命就是对所有已知Bug进行有效的跟踪和管理,保证产品中出现的所有问题都可以得到有效的解决。一般地,项目组发现、定位、处理和最终解决一个Bug的过程包括Bug报告、Bug评估和分配、Bug处理、Bug关闭等四个阶段:51Testing软件测试网cn1t2Q}#N L
     1)测试工程师在测试过程中发现新的Bug后,应向项目组报告该Bug的位置、表现、当前状态等信息。项目组在Bug数据库中添加该Bug的记录。
R-csJ,OC P^0    2)开发经理对已发现的Bug进行集中讨论,根据Bug对软件产品的影响来评估Bug的优先级,制定Bug的修正策略。按照Bug的优先级顺序和开发人员的工作安排,开发经理将所有需要立即处理的Bug分配给相应的开发工程师。
a1z;o0zgM6CJ|6}x0     3)开发工程师根据安排对特定的Bug进行处理,找出代码中的错误原因,修改代码,重新生成产品版本。51Testing软件测试网c{%JrS3`
    4)开发工程师处理了Bug之后,测试人员需要对处理后的结果进行验证,经过验证确认已正确处理的Bug被标记为关闭(Close)状态。测试工程师既需要验证Bug是否已经被修正,也需要确定开发人员有没有在修改代码的同时引入新的Bug。

A]yi&dur4S-~ J0s0
U/jWzC6Z9yrJ0话说回来,网上有很多自称专家的人在那里大谈特谈所谓的优先级标准,什么“系统死机是高级别,界面错误是低级别”之类。其实这些指的是缺陷的严重级别(Serverity)!
k*o&x[*yBg0当然,一般来说缺陷的严重级别也不是tester“主观判断”决定的,如果公司比较规范的话,会由测试经理、项目经理等组织制订这么一份相关的标准文档,文档是关于对应缺陷严重级别的定义。Tester在测试的时候就根据这么一份文档来决定对应Bug的严重级别。
%h0J"Rqs&z0我下面粘贴某公司的一个《缺陷等级标准》的文档,大家可以看到其中的“E类——测试建议”正是我上课所说的Enhancement。

A.v'~r-aal3Q0
sJ2fC'_2dS0========================51Testing软件测试网"M"N@ C5B U!B9dy*U
缺陷严重级别定义:51Testing软件测试网hd`8NE-oA1B8B
     o 最高级--导致运行中断(应用程序崩溃),预期的功能没有得到实现,测试工作无法继续进行等.
n3p&CFNN0     o 紧急---事件非常重要,并且需要马上给予关注.
a,N7f&y NN,LX0     o 高级---事件是重要的,并且应该在紧急的事件处理之后尽快得到解决.51Testing软件测试网D\UKT\?z!i
     o 中级---事件是重要的,但是由于解决问题需要花费一定的时间,所以可以用较长的时间解决.51Testing软件测试网~$~[9Vs d,Y%|
     o 低级---事件不重要,可以在时间和资源允许的情况下再解决.
| |wF{TL0     o 建议性缺陷.51Testing软件测试网5in?sLxo s4j
51Testing软件测试网"lJ9gk Q.Li1k(k
更为详细的划分如下:51Testing软件测试网+YC{M"t j
51Testing软件测试网zYd0Odt _"O
A类——严重错误,包括:51Testing软件测试网 eOZ{6q(S
          o 由于程序所引起的死机,非法退出
\G(i#anK ^$v,M0          o 死循环
s;@U XN0          o 导致数据库发生死锁51Testing软件测试网nB1\{0`0T4HC-jB l
          o 数据通讯错误51Testing软件测试网M*^:Zj)K C6q
          o 严重的数值计算错误51Testing软件测试网9v2c Y6[wM

.?4t K A y0B类——较严重错误,包括:
!GU%BAzxN{%s+{.vh0          o 功能不符
N#ke"b]1h`6Q j0          o 数据流错误51Testing软件测试网 P.B#L WG?7]4l{,e
          o 程序接口错误51Testing软件测试网uS1I!y$?Pe]
          o 轻微的数值计算错误51Testing软件测试网1J9|0\th0}

_4vO4r te;A0C类——一般性错误,包括:51Testing软件测试网IUF$z:]5Ub(S
          o 界面错误(详细文档)
;w!V/n3KyxyMGD0          o 打印内容、格式错误
r6x+A9M,lqFx0          o 简单的输入限制未放在前台进行控制
0QC pjJ#f0          o 删除操作未给出提示
d nN!}/v%PZ'~0
o z{ G!v5_`l#g0D类——较小错误,包括:
a$O A'O)d:o4|#n0          o 辅助说明描述不清楚51Testing软件测试网$AV-BpDa7{L
          o 显示格式不规范51Testing软件测试网+N`q-W(dG
          o 长时间操作未给用户进度提示
"r;{| {9CYZ&bH9x0          o 提示窗口文字未采用行业术语
-b0VuW lq0          o 可输入区域和只读区域没有明显的区分标志
U#x?O]L0          o 系统处理未优化51Testing软件测试网-B{^ ~5L%wvb4yHI

?$H8R1J-gp0E类——测试建议(非缺陷)
51Testing软件测试网3r\:m`mH~

iZmm-i.Nf UF.qdQ;x0
)P U]T;Q#S _;W-w:t0===============================51Testing软件测试网(FXidd wQ;H
好了,关于缺陷优先级和严重级别我解释到这儿,我希望同学们在学习的过程中知其然更要知其所以然。流程的制定不是想当然的,更不是因为看到别的公司都这么做自己就跟着做的。项目管理、缺陷管理都需要有很深的技术管理知识作为支撑,否则是作不好的。51Testing软件测试网d}-F9LQ5C

8] tS8xi9zG!X F051Testing软件测试网2~!h.E8Q isV


TAG: 原创文章

阿理SoftwareTestingBlog 引用 删除 becomegreat   /   2008-11-09 19:15:33
如果公司比较规范的话,会由测试经理、项目经理等组织制订这么一份相关的标准文档,文档是关于对应缺陷严重级别的定义。

这个我很同意!
既然选择了远方…… 引用 删除 sanwong823   /   2007-09-01 23:47:02
关于测试管理、测试技巧、测试方法等等的讨论,其实我觉得都是要根据自己公司、环境而论,就像不同的国情有不同的政策一样。
我测故我在 引用 删除 caicai1724   /   2007-04-28 17:50:08
哈哈,顶了,我也从老外论坛上收录了一个这个话题的帖子,你这个更详细啊.收藏了~``
DeeDee飞的心空小筑 引用 删除 DeeDee飞   /   2007-03-15 17:34:32
发现不同的公司定义的级别还是有不同的,不过归类的依据还是一样,博主介绍得好详细,收藏先,谢谢
 

评分:0

我来说两句

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 453694
  • 日志数: 138
  • 图片数: 4
  • 建立时间: 2006-11-26
  • 更新时间: 2013-08-30

RSS订阅

Open Toolbar