一、软件问题的定义与分类
1. 软件问题的分类
软件错误(software error)
软件缺陷(software defect)
软件故障(software faut)
软件失效(software faiure)
定义:
(1)软件错误:指在软件生存周期内的不希望或不可接受的人为错误,其结果将导致软件缺陷的产生。
关注点:属于人为错误
(2)软件缺陷:存在于软件(程序、数据、文档)之中的那些不希望或不可接受的偏差。
关注点:欠缺或不完备的地方
一般情况下,满足以下五种情况中的一种,即可存在软件缺陷。
① 软件未达到产品说明书中标明的功能。
② 软件出现了产品说明书中指明的不会出现的错误。
③ 软件功能超出了产品说明书指明的范围。
④ 软件未达到产品说明书虽未指出但应达到的目标。
⑤ 软件测试人员认为软件难以理解、不易使用、运行速度慢,和最终用户认为不好使用。
(3)软件故障:指在软件运行过程中出现的不希望或不可接受的内部状态,若此时无适当的措施(容错或异常处理机制)加以及时处理,便产生软件失效。
关注点:内部状态
(4)软件失效:指在软件运行时产生的一种不希望或不可接受的外部行为结果。
关注点:外部行为结果
2. 软件失效机理
软件错误——>软件缺陷——>软件故障——>软件失效
软件错误是一种人为的错误,一个软件错误必定产生一个或多个软件缺陷
当一个软件缺陷被激活时,便产生一个软件故障。
同一个软件缺陷在不同的条件下被激活,可能产生不同的软件故障。
软件故障若没被及时的使用容错加以处理,便不可避免的导致软件失效。
同一个软件故障在不同条件下可能产生不同的软件失效。
3. 产生软件错误、缺陷的原因
主要原因是开发的软件与需求说明书、软件设计说明书的不一致,以及在软件的实现中,未能达到用户潜在用户需求的目标。
二、软件错误的跟踪与管理
1.缺陷与错误严重与优先级
(1) 严重级别
严重:系统崩溃、数据丢失、数据破坏。
较严重:操作性错误、错误结果、遗漏功能。
一般:小问题、错别字。
建议:不影响使用的瑕疵或更好的实现。
(2) 优先级
最高优先级:立即修复,停止进一步测试。
次高优先级:在产品发布之前必须修复。
中等优先级:在产品发布之前应该修复。
最低等优先级:可能会修复,但是也能发布。