1.可靠性目标
失效严重程度类(Failure Severity Class)就是对用户具有相同程度影响的失效集合。对失效严重程度的分级可以按照不同的标准进行,最为常见的是按对成本影响、对系统能力的影响等标准划分软件失效的严重程度类。
有了失效严重程度的划分,现在可以结合失效强度来定量地表示一个软件系统的可靠性目标了。
可靠性目标是指客户对软件性能满意程度的期望。通常用可靠度、故障强度和平均失效时间(MTTF)等指标来描述,根据不同项目的不同需要而定。建立定量的可靠性指标需要对可靠性、交付时间和成本进行平衡。
2.可靠性测试的意义
(1)软件失效可能造成灾难性的后果。
(2)软件的失效在整个计算机系统失效中的比例较高。
(3)相比硬件可靠性技术,软件可靠性技术很不成熟,这就加剧了软件可靠性问题的重要性。
(4)与硬件元器件成本急剧下降形成鲜明对比的是,软件费用呈有增无减的势头,而软件可靠性问题是造成费用增长的主要原因之一。
(5)计算机技术获得日益广泛的应用,随着计算机应用系统中软件成分的不断增加,使得系统对与软件的依赖性越来越强,软件对生产活动和社会生活的影响越来越大,从而增加了软件可靠性问题在软件工程领域乃至整个计算机工程领域的重要性。
3.广义的可靠性测试与狭义的可靠性测试
3.1定义
广义的可靠性测试是指为了最终评价软件系统的可靠性而运用建模、统计、分析和评价等一系列手段对软件系统实施的一种测试。一个完整的软件可靠性测试包括如图1所示的过程。
图1 广义的软件可靠性测试
狭义的软件可靠性测试是指为了获取可靠性数据,按预先确定的测试用例,在软件的预期使用环境中,对软件实施的一种测试。狭义的软件可靠性测试也叫“软件可靠性试验”(Software Reliability Test),它是面向缺陷的测试,以用户将要使用的方式来测试软件,每一次测试代表用户将要完成的一组操作,使测试成为最终产品使用的预演。
软件可靠性测试是软件测试的一种形式,和易用性测试、性能测试、标准符合性测试等前面介绍的测试类型一样,是针对软件的某个重要质量特性,使用一定的测试用例对软件进行测试的过程。
3.2可靠性测试的目的
可靠性测试的目的可归纳为以下3个方面:
(1)发现软件系统在需求、设计、编码、测试和实施等方面的各种缺陷。
(2)为软件的使用和维护提供可靠性数据。
(3)确定软件是否达到可靠性的定量要求。