软件问题分类
--
摘自《软件评测师考试考点分析与真题详解》
通用术语:
l
软件错误(
software error
)
l
软件缺陷(
software defect
)
l
软件故障(
software fault
)
l
软件失效(
software failure
)
(1)
软件错误(
software error
)
软件错误是指在软件生存期内的不希望或不可接受的人为错误,其结果将导致软件缺陷的产生。“错误”还可广义定义为:“不正确的事务和行为”。软件错误是一种人为的过程,对软件本身是一种外部行为。
(2)
软件缺陷(
software defect
)
软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,其结果是软件运行于某一特定条件时将出现软件故障,这时称软件缺陷被激活。
“缺陷”被认为是“欠缺和不够完备的地方”。软件的欠缺和不完备主要是针对产品说明书而言的。按一般定义,只要软件出现的问题符合下列
5
种情况的任何一种,就叫做软件缺陷。
1.
软件未达到产品说明书中标明的功能;
2.
软件出现了产品说明书中指明的不会出现的错误;
3.
软件功能超出了产品说明书指明的范围;
4.
软件未达到产品说明书虽未指出但应达到的目标;
5.
软件测试人员认为软件难以理解、不易使用、运行速度慢、和最终用户认为不好使用。
(3)
软件故障(
software fault
)
软件故障是指在软件运行过程中出现的一种不希望或不可接受的内部状态。软件故障是一种状态行为,是指一个实体发生障碍和毛病。软件故障在
ISO14598
软件产品评价标准中的定义是:计算机程序中不正确的步骤、过程和数据定义。
(4)
软件失效(
software failure
)
软件失效是指在软件运行时产生的一种不希望或不可接受的外部行为结果。软件失效是系统行为对用户要求的偏离,是一种面向用户的概念。这就是说,失效意味着系统是在运行,而且只有在执行程序过程中才会发出软件失效。
要发现潜在的失效,可以通过设计审查、代码阅读和其他复审等测试方法进行检查。
综合软件问题分类的定义和分析,我们可以得出:软件错误是一种人为的错误,一个软件错误必定产生一个或多个软件缺陷。当一个软件缺陷被激活时,便产生一个软件故障;同一个软件缺陷在不同条件下被激活,可能产生不同的软件故障。软件故障若没有及时地使用容错措施加以处理,便不可避免地导致软件失效;同一个软件故障在不同条件下可能产生不同的软件失效。这就是软件失效的现象和机理。
软件失效机理可描述为:软件错误
à
软件缺陷
à
软件故障
à
软件失效