人的差别在于业余时间,而一个人的命运决定于晚上8点到10点之间。 北京安全测试精英QQ群:164265622 北京白盒测试精英QQ群:164265999 北京性能测试精英QQ群:164266156 北京自动化测试精英群:212723528 北京软件测试精英QQ群:86920845

软件缺陷你了解多少(下)

上一篇 / 下一篇  2012-03-03 17:09:33 / 个人分类:liunx

1.缺陷的严重等级分类编号及说明

缺陷类别 标识/权值 说明

AA1/5.6由程序执行引起的死机、非法退出

A2/5.5死循环

A3/5.4数据库发生死锁

A4/5.3数据库设计未达到第三范式的要求或

需求规格说明的水平

A5/5.2数据功能实现错误

A6/5.1与数据库连接错误

A7/5.0数据通讯错误

BB1/4.3程序语法错误

B2/4.2因错误操作迫使程序中断

B3/4.1程序接口错误

B4/4.0数据库的表、业务规则、缺省值未加完整性

等约束条件

CC1/3.4操作界面错误(包括数据窗口内列名定义、含

义是否一致)

C2/3.3打印内容、格式错误

C3/3.2简单的输入限制未放在前台进行控制

C4/3.1删除操作未给出提示

C5/3.0数据库表中有过多的空字段

DD1/2.5界面不规范

D2/2.4辅助说明描述不清楚

D3/2.3输入输出不规范

D4/2.2长操作未给用户提示

D5/2.1提示窗口文字未采用行业术语

D6/2.0可输入区域和只读区域没有明显的区分标志

EE1/6.1遗漏部分功能

E2/6.1实现功能与需求不相吻合

规定的缺陷优先级如下:

P1 ---- urgent,必须立即修改

P2 ---- important, 立即修改

P3 ---- less important,可延期修改

P4 ---- not important, 可以不修改

P5 ---- neglect, 可忽略

这里优先级由P1P5逐渐降低,依次代表了该缺陷需要修改的紧迫程度。此处缺陷严

重等级是以该缺陷对系统整体造成的影响,或与需求说明不相符合的程度作为划分依据,下

面的优先级表示该缺陷需要修改的紧迫程度,它与缺陷严重等级有一对多的关系。总体上优

先级从类型A开始逐渐降低,例如A1B1都属于优先级为1的级别。总之,缺陷严重等级

和缺陷优先级定义的出发点不同,前者是对缺陷的划分,后者是给缺陷一个定位,以提醒相

关的修改人员及时修改。我这里只是举个例子,关于具体的缺陷类型的划分细节有待进一步

商榷。

因为只要是错误我们都可以将它称为缺陷,然而你无法预知你会在软件开发的那个阶段

出错,所以缺陷涵盖的范围就延伸到软件开发的整个生命周期,甚至超越了这个范围。那么

我们是否可以按照软件开发的不同阶段作为不同类别缺陷的界限,然后再在每个阶段的内部

进行细分。

1.软件开发流程与可能产生的缺陷示意图

这种分法虽然能够明确缺陷所属的阶段,但是无法清晰的描述缺陷的本质,需要在每个

所属阶段对缺陷类型进行细化。而我们更加关心这个缺陷会对系统的开发乃至将来的使用产

生什么影响,所以我们有必要按照具体缺陷的产生原因更加直观的划分缺陷的类型和优先

级,而不必过多的关注它到底是属于那个阶段的缺陷。从这个角度出发,我们可以将实际发

现的缺陷按照实际产生的原因进行分类,作为缺陷类型的标准。以上是一点我个人的想法,

希望能起到抛砖引玉的作用,有关缺陷的划分以及相关的处理流程有必要进行更加细致的讨

论。

3.小结

以上从概念的角度对缺陷做了一个解释,还对缺陷类型的划分进行了简单的探讨。我们

可以简单的将缺陷称作bug。它不仅仅是代码级别的错误,而且可以是在设计和测试阶段发

现的缺陷。无论什么时候,任何有助于改善产品质量的提议、任何需要引起注意、值得跟踪

的问题、任何可能潜在的错误,都可以而且应该作为一个Bug。我们可以将软件整个生命周

期中存在的或者发现的各种问题都列入缺陷的范围,因此我们可以在缺陷和bug之间划上一

个等号。

从管理这个层次上讲,一旦bug被发现后,最困难的并不是如何去记录,分派人员去解

决,并予以追踪。最困难的是决定对某些bug推迟解决,甚至不予解决。这样的bug往往是

在产品开发的中后期发现的,而且是由于最初架构设计的缺陷所造成的,解决这样的bug

需要大量的人力和时间,影响面大,可能会引入新的bug。对于这样的bugPM要与客户端

的其他部门和人员联系,比如市场部门,技术支持部门,甚至于早期介入的客户。如果从他

们的反馈中,确认这种bug对决大多数客户和决大多数的使用者没有影响,就要果断决定推

迟,或不予解决。对于这些已决定推迟,或不予解决的bug,还有一些后续工作非常重要。

首先要详细的记录,以便在下一个版本中解决;其次要让有关技术支持人员深刻理解,准备

需求分析

详细设计

概要设计

单元测试

编码

集成测试

测试阶段

系统测试

维护阶段

需求不完整

未能完全描

述需求

与概要设计

不完全一致

出现表1

所列的现象

尚未测试出的

问题,在实际中

暴露出来

应对方案。这也从另外一个角度向我们提出问题,到底应该如何划分缺陷类型,并确定相应

的优先级?它们二者之间有什么关系?

限于本人水平,有翻译不准确的地方大家可参考下面附录中的英文原文进行更加准确的

理解,同时欢迎您更正我的错误。

附录:引用的相关英文资料

n Bug

Acomputer bugis an error, flaw, mistake or fault in acomputer programwhich

prevents it from working correctly. Bugs arise from mistakes and errors in either a

program'ssource codeor itsdesign. It is said that there are bugs in all useful computer

programs, but well-written programs contain relatively few bugs, and these bugs

typically do not prevent the program from performing its task.Buggyprograms

(sometimes referred to asdefective software), are thoseapplicationswhich contain a

large number of bugs, and/or bugs which seriously interfere with the program's

functionality.

n Defect

insoftware engineering, the non-conformance of software to itsrequirements, often, but

incorrectly, calledbug.

n Fault

In documentISO/CD 10303-226faultis defined as an abnormal condition or defect at

the component, equipment, or sub-system level which may lead to afailure.

According to Federal Standard 1037C, the termfaulthas the following meanings:

1. An accidental condition that causes a functional unit to fail to perform. its

required function.

A defect that causes a reproducible or catastrophic malfunction. A malfunction is

TAG:

 

评分:0

我来说两句

Open Toolbar