软件测试Bug之“庐山真面目”

上一篇 / 下一篇  2012-05-10 09:43:11 / 个人分类:杂谈

在介绍bug的光辉历史的时候,不经意间给bug蒙上了一层神秘的面纱,仿佛bug是一个遥远的神秘的事物,如同金字塔之中的种种。其实bug本身并没有那么神秘。

Mqp U&B9z TgO_$|U0  首先给出一个“官方”的定义,来自Ron Patton《软件测试》:

(c B^ h3qs0

bc Vg,V6a;c&F0  >>>>>>51Testing软件测试网 \ {3d.QhH`B

a-L&D V)v${@$Zw0  至少满足下列五个规则之一才称发生了一个软件缺陷(Software bug):

#` ky{1z![@Wf051Testing软件测试网mwvDI[b i

  1)软件未实现产品说明书要求的功能51Testing软件测试网p.f/]-|e

\"P z7ONu{(W0  2)软件中出现了产品说明书中指明不应该出现的错误51Testing软件测试网TsQW b}

51Testing软件测试网Env!p!w4S#D7^,_}

  3)软件实现了产品说明书未提到的功能

,\ z TB,VSI%s {051Testing软件测试网.` I \!ejU(D h2r Dl

  4)软件未实现产品说明书虽未明确提及但应该实现的目标51Testing软件测试网Y!{ x|$V4@%c

-[GX _"^Lu0  5)软件难以理解、不易使用、运行缓慢或者——从测试人员的角度看——最终用户会认为不好51Testing软件测试网6a7Hjr+M4`%cc&e

51Testing软件测试网3GG8Y+rc0X@4D

  <<<<<<51Testing软件测试网g$mjbUah5_

sI"x8`.UZ0vW E0   关于上面的“官方”解释我就不做赘言了,“照搬”是没有意义的,所以如果需要了解更多,请阅读原书《软件测试》(Ron Patton)著。从我自己的经验来看,所谓bug,大致可以分为“该做的没做,做了不该做的,没有按要求做”,我自己就是这样简单的来对bug做出分 类。51Testing软件测试网%[ ^4o:ddP,PK

51Testing软件测试网 OnH!Df&O+J8L

  所谓“该做的没做”的又包含了三个部分,即51Testing软件测试网]m)hxg{!HH`

51Testing软件测试网,eb6_(KAV+^

  ● 产品说明书中要求做的没做51Testing软件测试网T{N4q8[ eZ%hS%{2l

51Testing软件测试网b D Ni;~7byU

  ● 产品说明书中没有明确要求(单独作为项目列出)但是应该实现的

/VvjQ J'Cv0

:I:u+tx0c2_0  ● 产品说明书中没提到,但是测试人员认为应该做的51Testing软件测试网_*d1v-DM$e;lr8T

9i&Q4g `!Q}s4E%FY"p0   对于上面的“该做的没做”三种情况应该区别对待,对于第一种就很直接了,产品说明书中列出来的功能没有实现,直接作为bug提交了;第二种稍微麻烦一 点,需要跟开发人员统一认识;第三种就更加麻烦了,这时候需要开发人员项目经理测试人员一起合计合计了,统一认识之后再决定怎么处置这个bug。51Testing软件测试网!S1Vo ]#f2~wq X,^*Z

w9x4t%s6p!a)E-t0   所谓“做了不该做的”,这句话是作为测试新人和开发人员来讲最难理解的bug,这里并不是指它的概念或者意义等理性可以解决的事情,而是感性层面的“理 解”。试想开发人员好不容易做了一个新功能,测试人员却拿着“产品说明书”这根鸡毛当令箭来要求删除,大多数人可能会想到,额外的功能总是好的……但是, 需要提醒的是,每一个额外的功能都有引入额外的bug的风险,这不仅仅增加了测试的工作量 也增加了产品的质量风险,更重要的是,增加的额外功能的合理性是否确定。比如我们开发一个课程管理系统,一般情况下产品说明书中要求给普通用户的功能只有 登陆和浏览,这个时候如果开发人员提供了其他额外的功能如搜索,排序甚至编辑,这就会出现问题了,这些额外的额操作会额外增加系统或者服务器端的负担,甚 至具有安全问题。当然,对于“做了不该做的”类型的问题,需要找到相关开发人员与PM一起确定,测试人员是不应该自以为是地作为bug提交,至于原因,在 后续的文章中会提到。51Testing软件测试网k`c}+kvc

Ho*m(G&BA:}$G0   所谓“没有按要求做”,这里的要求是指“应该做成什么样子”,这些内容是依据产品说明书来定的,比如一个“职位”选项,产品说明书中明确指出使用“下拉 框”来处理,而开发人员偏偏使用了“文本框”,这些都是bug。对于这种类型的bug,辨别和处理相对就比较简单了,而且我们找到的大部分bug也都是这 种类型。51Testing软件测试网)x};bbi(?

_Q ^Jzv(e0  关于bug的定义,其实直到现在都没有“官方定义”,这也为什么我引用Ron Patton的话的时候使用的是“‘官方’定义”的原因了。上面提到bug的时候,总是带着一个亲属“产品说明书”,实际上在当前中国很多软件项目中并没 有这个东西,因此在项目实践过程中,上面提到的内容千万不要生搬硬套,至于怎样灵活处理,在后续文章中也将提到个人见解。51Testing软件测试网:h.qFS$nR

Ayr3]%{z0  以上为个人见解,欢迎大家一起交流。51Testing软件测试网#rfI1}PYV


TAG:

 

评分:0

我来说两句

Open Toolbar