|
知识路径: > 测试技术的分类 > 可靠性测试 > 软件可靠性与可靠性测试 >
|
被考次数:1次
被考频率:低频率
总体答错率:35%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
考试要求:掌握
相关知识点:6个
|
|
|
|
前一节从软件可靠性的定义我们可以看到,软件的可靠性可以基于使用条件、规定时间、系统输入、系统使用和软件缺陷等变量构建的数学表达式。下面我们从可靠性的定义中的术语“规定时间”、“失效概率”开始,探讨软件可靠性的定量描述,并相应地引入一些概念。
|
|
|
|
首先对于“规定时间”我们有三种概念,一种是自然时间,也就是日历时间,指我们日常计时用的年、月、周、日等自然流逝的时间段;一种是运行时间,指软件从启动开始,到运行结束的时间段;最后一种是执行时间,指软件运行过程中,中央处理器(CPU)执行程序指令所用的时间总和。
|
|
|
例如某单位有一套供会计人员使用的财务软件,我们来关注一整天的时间,上午9:00上班开机运行,下午5:00下班退出程序。在这里,自然时间是一天,也就是24小时,运行时间是8个小时,而CPU处理程序的执行时间可能不到2小时,这要视会计的业务繁忙状况、使用软件的频度和软件本身的设计而定。
|
|
|
很明显,在这三种时间中,我们度量软件的可靠性,使用执行时间最为准确,效果也最好。如果运行的软件系统处于一种相对稳定的工作状态,我们可以根据一定的经验值,按一定的换算比例,对这三种时间进行折算。
|
|
|
|
我们把软件从运行开始,到某一时刻t为止,出现失效的概率看作关于软件运行时间的一个随机函数,用F(t)表示。根据我们对软件可靠性的分析,函数F(t)有如下特征:
|
|
|
|
|
.F(+∞)=1,即失效概率在运行时间不断增长时趋向于1,这也和“任何软件都存在缺陷”的思想相吻合。
|
|
|
为了简化分析,我们把F(t)看作关于时间t的一个连续函数,并且可导。
|
|
|
|
我们用来表示可靠性最为直接的方式就是可靠度,根据可靠性的定义,可靠度就是软件系统在规定的条件下,规定的时间内不发生失效的概率,如果用F(t)来表示到t时刻止,软件不出现失效的概率,则可靠度的公式为
|
|
|
|
|
|
失效强度(Failure Intensity)的物理解释就是单位时间软件系统出现失效的概率。在t时刻到t+Δt时刻之间软件系统出现失效的平均概率为(F(t+Δt)-F(t))/Δt,当Δt趋于很小时,就表现为t时刻的失效强度。用f(t)表示失效强度函数,则
|
|
|
|
|
失效率(Failure Rate)又称风险函数(Hazard Function),也可以称为条件失效强度,物理解释就是在运行至此软件系统未出现失效的情况下,单位时间软件系统出现失效的概率。具体用数学用语来描述,就是当软件在0~t时刻内没有发生失效的条件下,t时刻软件系统的失效强度,用λ(t)表示失效率,则
|
|
|
|
代入公式(15-1)可得从可靠度到失效率的转换表达式:
|
|
|
|
|
我们知道,在0时刻,可靠度R(0)为1,对公式(15-4)一阶常微分方程求解可得:
|
|
|
|
假设软件系统的失效率为常数时,由公式15-5可得:
|
|
|
|
当失效率λ(t)与时间t之积,也就是tλ(t)<0.05时,公式15-6可简化为
|
|
|
|
|
|
|
当可靠度R(t)大于0.95时,公式15-6可简化为
|
|
|
|
|
|
平均无失效时间(MTTF)(Mean Time to Failure)就是软件运行后,到下一次出现失效的平均时间。通常平均无失效时间更能直观地表明一个软件的可靠程度。用θ表示平均无失效时间MTTF,则可得:
|
|
|
|
|
|
|
|
当我们讨论完对软件可靠性的定量描述问题之后,需要对软件可靠度这个直接反映软件可靠性的度量指标作下列补充说明。
|
|
|
. 描述的软件对象必须明确,即需指明它与其他软件的界限。
|
|
|
|
. 必须假设硬件无故障(失效)和软件有关变量的输入值正确。
|
|
|
. 运行环境包括硬件环境、软件支持环境和确定的软件输入域。
|
|
|
. 规定的时间必须指明时间基准,可以是自然时间(日历时间)、运行时间、执行时间(CPU时间),或其他时间基准。
|
|
|
. 软件无失效运行的机会通常以概率度量,但也可以模糊数学中的可能性加以度量。
|
|
|
. 上述定义是在时间域上进行的,这时软件可靠度是一种动态度量。也可以是在数据域上将软件可靠度定义为一种表态度量,表示软件成功执行一个回合的概率,软件回合(Run)是指软件在规定环境下的一个基本执行过程,如给定一组输入数据,到软件给定相应的输出数据这一过程。软件回合是软件运行的最小的、不可分的执行单位,软件的运行过程由一系列软件回合组成。
|
|
|
. 有时将软件运行环境简单地理解为软件运行剖面(operational profile)。欧空局(ESA)标准PSS-01-21(1991)“ESA软件产品保证要求”中,定义“软件运行剖面”为:“对系统使用条件的定义。系统的输入值都用其按时间的分布或按它们在可能输入范围内的出现概率的分布来定义”。简单来说,运行剖面定义了关于软件可靠性描述中的“规定条件”,也就相当于可靠性测试中需要考虑的测试环境、测试数据等一系列问题。
|
|
|