文档介绍:关于软件可靠性
什么的软件可靠性?
软件可靠性是指在给定时间内,特定环境下软件无错运行的概率
软件可靠性的内容
软件可靠性包含了以下三个要素:
规定的时间
软件可靠性只是体现在其运行阶段,所以将 “运行时间 ”作为 “规定的时间 ”的 度量。 “运行时间”包括软件系统运行后工作与挂起 (开启但空闲 )的累计时间。由 于软件运行的环境与程序路径选取的随机性, 软件的失效为随机事件, 所以运行 时间属于随机变量。
规定的环境条件
环境条件指软件的运行环境。它涉及软件系统运行时所需的各种支持要素, 如支持硬件、操作系统、其它支持软件、输入数据格式和范围以及操作规程等。 不同的环境条件下软件的可靠性是不同的。 具体地说,规定的环境条件主要是描 述软件系统运行时计算机的配置情况以及对输入数据的要求, 并假定其它一切因 素都是理想的。 有了明确规定的环境条件, 还可以有效判断软件失效的责任在用 户方还是研制方。
规定的功能
软件可靠性还与规定的任务和功能有关。 由于要完成的任务不同, 软件的运 行剖面会有所区别,则调用的子模块就不同 (即程序路径选择不同 ),其可靠性也 就可能不同。所以要准确度量软件系统的可靠性必须首先明确它的任务和功能。
软件可靠性的测试
软件可靠性测试的目的
软件可靠性测试的主要目的有 :
通过在有使用代表性的环境中执行软件 ,以证实软件需求是否正确实现
为进行软件可靠性估计采集准确的数据。估计软件可靠性一般可分为四 个步骤 ,即数据采集、模型选择、模型拟合以及软件可靠性评估。可以认为 ,数据
采集是整个软件可靠性估计工作的基础 ,数据的准确与否关系到软件可靠性评估 的准确度。
通过软件可靠性测试找出所有对软件可靠性影响较大的错误。
软件可靠性测试的特点
软件可靠性测试不同于硬件可靠性测试 ,这主要是因为二者失效的原因不 同。硬件失效一般是由于元器件的老化引起的 ,因此硬件可靠性测试强调随机选 取多个相同的产品 ,统计它们的正常运行时间。 正常运行的平均时间越长 , 则硬件 就越可靠。软件失效是由设计缺陷造成的 ,软件的输入决定是否会遇到软件内部 存在的故障。因此 ,使用同样一组输入反复测试软件并记录其失效数据是没有意 义的。在软件没有改动的情况下 ,这种数据只是首次记录的不断重复 ,不能用来估 计软件可靠性。软件可靠性测试强调按实际使用的概率分布随机选择输入 ,并强
调测试需求的覆盖面。 软件可靠性测试也不同于一般的软件功能测试。 相比之下 , 软件可靠性测试更强调测试输入与典型使用环境输入统计特性的一致 ,强调对功
能、输入、数据域及其相关概率的先期识别。测试实例的采样策略也不同 ,软件
可靠性测试必须按照使用的概率分布随机地选择测试实例 ,这样才能得到比较准 确的可靠性估计 ,也有利于找出对软件可靠性影响较大的故障。
此外 ,软件可靠性测试过程中还要求比较准确地记录软件的运行时间 ,它的输 入覆盖一般也要大于普通软件功能测试的要求。
对一些特殊的软件 ,如容错软件、实时嵌入式软件等 ,进行软件可靠性测试时 需要有多种测试环境。这是因为在使用环境下常常很难在软件中植入错误 ,以进
行针对性的测试。
软件可靠性测试的效果
软件可靠性测试是软件可靠性保证过程中非常关键的一步。 经过软