4、软件可靠性度量和测试教材.ppt

第4章 软件可靠性度量和测试 ;内容提要;内容提要;4.1软件可靠性;4.1.1 软件可靠性发展史;;4.1.2 软件可靠性的定义;引言;软件可靠性工程处理以下问题: 确定某过程能否提供满足可靠性要求的代码 为过程改进提供度量 预测软件维护阶段的失效率,确定软件维护工作量 帮助进行安全性认证 确定交付软件产品的时间或停止测试的时机 估计下次故障的可能时间 为软件更新或升级,标识需要重新设计的主要部件 测定软件的可靠性;软件可靠性 可靠性是软件的13个质量因素中最关键、最重要的 软件可靠性是指在规定时间和条件下软件无故障运行的概率,是系统功能或软件产品中存在的缺陷的函数 软件故障产生的原因是软件缺陷,但缺陷并不一定导致故障的产生,高缺陷率的软件的可靠性不一定就差 软件失效意味着软件运行中断或者无法完成所规定的任务;几个值得关注的问题: ??件的运行环境:软件可靠性与运行环境密切相关 软件运行的时间间隔:商业软件需要较高的运行时间间隔(较长的运行寿命),而任务关键软件则需要在短时间内高效运行 软件失效的时机是随机的 不同于软件的正确性,对于持续运行的软件其可靠性最终将归于零(以失效结束);但正确性是软件的特定的某次运行结果,要么为1,要么为0;4.1.4 软件可靠性与硬件可靠性的区别 ;4.1.5 影响软件可靠性的因素;软件不可靠的九大原因;4.1.6 软件的差错、故障和失效; 软件的缺陷、故障和失效 缺陷(Error,错误):设计和构造进产品 总数是不可预知的,只能估计 缺陷分为已知和未知(新发现)的 缺陷分为已发现的和未发现的 已发现的缺陷包括已纠正的和未纠正的 故障(Fault):运行结果错误 故障是缺陷的表现形式,是由存在的缺陷产生的 但缺陷并不一定导致故障,或者条件不具备,或者不会产生故障 失效(Failure):系统不能完成所需要的功能而失败 失效是故障在软件运行时所产生的后果;;;可以更清楚地说明失效与故障之间的区别 ; 软件失效 软件失效是随机发生的 描述失效的方法有三个: 累计失效函数:即与某时间点相关的平均累计失效数 失效率函数:用累计失效函数的变化率表示 平均失效时间MTTF函数:对于一个时间段,表示若干相邻失效时间间隔的平均值;对某个时间点,表示到下次失效的期望时间;指标—平均失效前时间;指标—平均失效前时间;软件失效率 如果没有缺陷,软件失效率为0 如果发现的缺陷能被及时、完全修复,失效率会趋向0 实际上,发现的缺陷数会递增,而纠正一个缺陷会引入更多的缺陷,因而失效率会增加;4.2可靠性模型及其评价标准;软件可靠性度量和建模;单元划分建模的影响示例; 可靠性模型评价标准 ; 软件可靠性度量参数 软件可靠性R(t)可定义为:在给定条件下,在时间[0,t]内,软件无故障运行的概率 若用T表示软件无故障运行的时间间隔,F(t)为T的累积分布函数,则软件可靠性可表示为: R(t)=1-F(t) t≥0 故障率函数λ(t)为: 其中,f(t)为F(t)的函数密度,即:;λ(t)Δt是在时间[0,t]内软件正常运行,在[t,t+Δt]内发生故障的条件概率,可得: 密度函数f(t)、累积分布函数F(t)、可靠性函数R(t)和故障率函数λ(t)紧密相关,一般可由任一个惟一地确定另外三个,例如若λ(t)给定,则: 根据f(t)或R(t)可计算平均失效时间函数MTTF,从而预测故障时间;数据收集和分析是度量软件可靠性的最重要的先决条件,任何可靠性度量的有效性都与数据收集的有效性直接相关,数据收集过程必须有计划、有组织地进行 与软件可靠性相关的数据包括: 缺陷数据 过程数据 产品数据:如规模、功能、性能等; 缺陷数据的收集; 过程数据的收集;系统的运行剖面与可靠性的关系;软件的运行剖面;软件运行剖面;软件新系统的运行剖面; 软件运行剖面与可靠性的关系 软件可靠性度量、评估和预测与软件的某个特定的运行剖面密切相关 软件测试期间,为节省时间和成本,通常每个运行剖面只测试一次,因而不能反映每个剖面的出现概率,由此获得的可靠性数据也不能反映实际情况 要将测试期间获得的可靠性值变换为实际值,可用以下公式: 其中,λu是实际的用户环境下的故障密度,λT是测试值,C为测试压缩系数;C的含义是:在覆盖全部输入空间条件下,使用期间所要求的执行时间与测试阶段所要求的执行时间之比 C的计算公式为: 其中, τk为输入状态k运行时的执行时间 Pk为输入状态k在运行期间的发生概率 QI为输入状态总数 Pmin为最少发生的输入状态的概率;运行剖面对软件可靠性工程极具价值: 可为开发过程的资源分配提供参考,有利于提高生产率、可靠性和加快开发速度 有利于测试,可确保常用功能获得更多测试 有利于设计测试用例,以发现影响可靠性最大的故

文档评论(0)

1亿VIP精品文档

相关文档