|
|
51CTO旗下网站
|
|
移动端

1.2.2 软件可靠性

《软件测试基础教程》第1章软件测试的基本知识,本章作为一个导引,其目的在于让读者熟悉与软件测试相关的基本概念,建立起全书的框架。在本书后续章节中将要详细阐述的问题,首先在这里被提了出来。读完这章之后,读者就能够在软件测试和软件质量方面提出一些有意义的问题。本节为大家介绍软件可靠性。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-16 20:41

1.2.2 软件可靠性

人们总是希望软件在每次使用时都能正确运行,然而这很难达到。现在使用的大多数软件都存在缺陷,一旦遇到某些输入组合,这些缺陷就会引起软件故障。所以,“程序完全正确”是一个理想目标,只适用于大多数科研和教学程序。

既然大多数软件都有缺陷,那么,人们自然想知道,一个具体的软件多长时间会失效一次?借助于软件可靠性能够回答这个问题,但准确性常常令人怀疑。关于软件可靠性的定义有许多种,下面是常用的两个定义。

ANSI/IEEE 729-1983:可靠性

软件可靠性是指软件在给定时间间隔内和给定条件下无故障运行的概率。

定义中所指的概率依赖于程序输入的分布情况,这种输入分布常常被称作操作剖面(operational profile)。根据这个定义,软件的可靠性会因操作剖面的不同而不同。这意味着,某个用户可能会说“这个软件很糟糕”,而另一个用户却说这个软件很好。下面是软件可靠性的另一个定义。

可靠性

软件可靠性是指软件在预期的环境下无故障运行的概率。

这个定义与“谁用软件以及如何用软件”无关。实际上,这个定义只与软件功能的正确性相关。由于没有操作剖面的定义,整个输入域被认为是均匀分布的。环境指软件运行所需的硬件和软件要素,包括硬件设备、操作系统以及其他必需的应用程序。

以上两个定义各有千秋。第一个要求了解用户的操作剖面,而操作剖面又是很难或不可能准确评估的。如果能够建立起针对某类用户的操作剖面,就能准确计算出软件针对该类用户的可靠性。第二个定义很具有吸引力,因为只需要用单个数值来表示软件的可靠性,而这个数值适用于所有用户。然而,这种评估是很难达到的。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

数据库系统概念

本书是数据库系统方面的经典教材之一。国际上许多著名大学包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、印度理工学...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊