什么是软件缺陷?(转)

2010-04-26  张平 

有很多定义,包括学院派的和实践派的。
对于缺陷的通俗叫法,也有很多种,就拿英语来讲,可能会有这么多:
Defect,Variance,Fault,Failure,Problem,Inconsistency,Error,Feature,Incident,Bug,Anomaly,Exception等等。

我倾向于使用Defect,即中文的“缺陷”。

Ron Patton的《Software Testing, Second Edition》中对于缺陷的定义是这样的:

a software bug occurs when one or more of the following five rules is true:
1. The software doesn't do something that the product specification says it should do.
2. The software does something that the product specification says it shouldn't do.
3. The software does something that the product specification doesn't mention.
4. The software doesn't do something that the product specification doesn't mention but should.
5. The software is difficult to understand, hard to use, slow, orin the software tester's eyeswill be viewed by the end user as just plain not right.

直译一下:

当软件符合下面的一个或者多个条件时,即说明软件中出现了缺陷:

软件没有做需求中要求它做的事情;
软件做了需求中要求它不应该做的事情;
软件做了需求中没有提到过的事情;
软件没有做需求中没有提到但是它应该做的事情;
软件难于理解和使用,运行缓慢,或者从软件测试人员的角度来说,软件对于最终用户是明显的不健全(不正确)的。

上述的翻译是几年前所做的,如果大家对这几句话有更好的理解和体会,欢迎留言和指正。
422°/4211 人阅读/1 条评论 发表评论

张平  2010-12-27

自己顶。


登录 后发表评论