文档介绍:第十三章 件可靠性工程概论
引言
软件可靠性的定义
软件可靠性的基本概念
定义必要的可靠性
开发操作剖面
软件测试的类型
软件可靠性增长试验模型
编辑课件
可靠性达到用户要求。
。
。
,降低用户不满意的风险。
。
编辑课件
图13-1 软件可靠性工程过程框图
编辑课件
软件可靠性的基本概念
软件故障及其特性
对于软件的不正常,常用的三个术语来描述:
(a)缺陷(fault):指的是软件的内在缺陷。
(b)错误(error):缺陷在一定环境条件下暴露,导致系统运行中出现可感知的不正常、不正确和不按规范执行的状态。
(c)故障(failure):由于对错误未作任何纠正而导致系统的不可预定的要求。
编辑课件
软件故障的特性
缺陷可以导致错误并造成系统的故障,因此,
缺陷是一切错误的根源,故存在下面的传递关系:
缺陷错误故障
软件发生故障,标志着软件一次使用寿命的结束。发生过故障的软件通常仍然是可用的。只有当软件频繁故障,或公认已经“陈旧”时,软件才被废弃,意味着这一版本软件寿命的终结,这一点需要特别加以说明。
编辑课件
软件缺陷一般性质
a. 软件缺陷的固有性
b. 缺陷对环境的敏感性
c. 软件错误的传染性
编辑课件
软件缺陷的固有性
软件一旦有缺陷,它将潜伏在软件中,直到它被发现和改正。反之,在一定的环境下,软件一旦运行是正确的,它将继续保持这种正确性,除非使用环境发生了变化。此外,它不像硬件,随时间的推移会因使用而不断“耗损”。因此软件缺陷是“牢靠的”、“无耗损”的潜伏于软件之中。
编辑课件
缺陷对环境的敏感性
对于一个软件来说,它的各部分之间有着密切的联系。软件的运行过程实际上是各部分之间交换一个逻辑组合过程,不同的逻辑组合就可得到不同的程序路径,而每一次软件运行或完成某一功能都是选择了某一条程序路径。选什么样的程序路径是由软件自身确定输入环境决定的。对于不同的输入环境,软件的运行路径可能有不同。如果软件在某些程序路径上含有缺陷,那么在执行这些程序路径时就有可能发生错误。这就是软件错误与输入环境的关系。
对在一定输入环境下工作出错的软件,当退出该环境后,对于其他环境,此软件又可能正常工作,但当再次进入该环境时,软件又会出错。这缺陷对环境是十分敏感的。
编辑课件
软件错误的传染性
任一软件缺陷,只要未被排除,始终存在该软件中,一旦暴露,处理过程就将产生错误,而这种错误往往是变化的。例如,由于某一处错误处理,使某个处理变量C的值与要求不合,当变量C继续参加运行时会引起处理过程中的其他错误。故这类错误是具有“传染性”的。如果错误不被纠正,也许这种错误就一直存在以至继续“传染”,直到引起软件故障。
编辑课件
定义必要的可靠性
失效与错误
失效强度
失效严重程度分类
编辑课件
失效与错误
失效是系统运行行为对用户要求的偏离,是一种面向用户的概念。错误是在系统运行时,引起或可能潜在地引起失效的缺陷,是一种面向开发的概念(Musa,1989a)。例如,当用户单击某个具体菜单项时,本来应该在屏幕上出现特定的对话框,但是却没有出现。这种行为就是一个失效。造成这种失效的错误可能是遗漏代码。
请注意,失效意味着系统的运行只有在执行程序过程中才会出现软件失效。程序员发现的潜在失效,可以是设计审查、代码阅读和其他方法所产生的结果。
软件错误是代码中的缺陷,是由错误引起的,是一个人或多个人的不正确或遗漏行为造成的。例如,系统工程师在定义需求时可能会犯错误,从而导致代码中的错误,而代码错误又导致在一定条件下执行系统时出现失效。
编辑课件
失效强度
失效强度最初是指单位时间出现的失效次数
在可靠性工程中失效强度定义为失效率
软件的失效强度目标,有三种主要策略:错误预防、错误清除和容错。测试是错误清除的一部分。
编辑课件
表13-2 软件失效强度目标与推荐策略
编辑课件
失效严重程度分类
编辑课件
开发操作剖面
为了开发操作剖面,对每个被测系统必须包括:确定操作模式、确定操作人员与设备、选择表格或图形、创建操作表、确定操作与故障的出现率及出现概率、
三个主要术语是操作、操作剖面和操作模式。
操作是一个主要的系统逻辑任务,
操作应该与功能需求或产品特征(经常是列举出来的)相关,而不是设计中的子任务。
当一个操作将控制权还给系统后,它释放相关的资源以便开始