软件质量保证与测试PPT课件第4章软件可靠性度量和测试.ppt
《软件质量保证与测试PPT课件第4章软件可靠性度量和测试.ppt》由会员分享,可在线阅读,更多相关《软件质量保证与测试PPT课件第4章软件可靠性度量和测试.ppt(36页珍藏版)》请在三一办公上搜索。
1、1,第4章 软件可靠性度量和测试,2,内容提要,4.1软件可靠性4.1.1 软件可靠性发展史4.1.2 软件可靠性的定义4.1.3 软件可靠性的基本数学关系4.1.4 软件可靠性与硬件可靠性的区别4.1.5 影响软件可靠性的因素4.1.6 软件的差错、故障和失效4.2可靠性模型及其评价标准4.2.1 软件可靠性模型4.2.2 软件可靠性模型参数4.2.3 软件可靠性模型及其应用4.2.4 软件可靠性模型评价准则,3,内容提要,4.3软件可靠性测试和评估4.3.1 软件可靠性评测4.3.2软件可靠性测试的具体实施过程4.4提高软件可靠性的方法和技术4.4.1 建立以可靠性为核心的质量标准4.4.
2、2 选择开发方法4.4.3 软件重用4.4.4 使用开发管理工具4.4.5 加强测试4.4.6 容错设计4.5 软件可靠性研究的主要问题4.6小结,4,4.1软件可靠性,用软件系统规模越做越大越复杂,其可靠性越来越难保证。应用本身对系统运行的可靠性要求越来越高,在一些关键的应用领域,如航空、航天等,其可靠性要求尤为重要,在银行等服务性行业,其软件系统的可靠性也直接关系到自身的声誉和生存发展竞争能力。特别是软件可靠性比硬件可靠性更难保证,会严重影响整个系统的可靠性。在许多项目开发过程中,对可靠性没有提出明确的要求,开发商(部门)也不在可靠性方面花更多的精力,往往只注重速度、结果的正确性和用户界面
3、的友好性等,而忽略了可靠性。在投入使用后才发现大量可靠性问题,增加了维护困难和工作量,严重时只有束之高阁,无法投入实际使用。,5,4.1.1 软件可靠性发展史,软件工程的发展大体上可分为下列四个阶段。1950年1958年1959年1967年1968年1978年1978年至今,6,4.1.2 软件可靠性的定义,1983年美国IEEE计算机学会对“软件可靠性”一词正式作出了如下的定义:在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的错误的函数;系统输入将确定是否会遇到已存在的错误(如果错误存在的话);在规定的时间周期内,在所述条件下程序执
4、行所要求的功能的能力。,7,输入空间示意图/离散型运行剖面图/连续型运行剖面图,8,4.1.3 软件可靠性的基本数学关系,9,4.1.4 软件可靠性与硬件可靠性的区别,软件和硬件在可靠性特征上的差异,主要有以下几点:最明显的是硬件有老化损耗现象,硬件失效是物理故障,是器件物理变化的必然结果,有浴盆曲线现象;软件不发生变化,没有磨损现象,有陈旧落后的问题,没有浴盆曲线现象。硬件可靠性的决定因素是时间,受设计、生产、运用的所有过程影响,软件可靠性的决定因素是与输入数据有关的软件差错,是输入数据和程序内部状态的函数,更多地决定于人。硬件的纠错维护可通过修复或更换失效的系统重新恢复功能,软件只有通过重
5、设计。对硬件可采用预防性维护技术预防故障,采用断开失效部件的办法诊断故障,而软件则不能采用这些技术。事先估计可靠性测试和可靠性的逐步增长等技术对软件和硬件有不同的意义。为提高硬件可靠性可采用冗余技术,而同一软件的冗余不能提高可靠性。硬件可靠性检验方法已建立,并已标准化且有一整套完整的理论,而软件可靠性验证方法仍未建立,更没有完整的理论体系。硬件可靠性已有成熟的产品市场,而软件产品市场还很新。软件错误是永恒的,可重现的,而一些瞬间的硬件错误可能会被误认为是软件错误。,10,4.1.5 影响软件可靠性的因素,软件差错是软件开发各阶段潜入的人为错误:需求分析定义错误。如用户提出的需求不完整,用户需求
6、的变更未及时消化,软件开发者和用户对需求的理解不同等等。设计错误。如处理的结构和算法错误,缺乏对特殊情况和错误处理的考虑等。编码错误。如语法错误,变量初始化错误等。测试错误。如数据准备错误,测试用例错误等。文档错误。如文档不齐全,文档相关内容不一致,文档版本不一致,缺乏完整性等。,11,4.1.6 软件的差错、故障和失效,异常。偏离期望的状态(或期望值)的任何情形都可称为异常。缺陷。不符合使用要求或与技术规格说明不一致的任何状态常称为缺陷。差错。从一般意义上说,差错有下面几个方面不同的含义:计算的、观测的或测量的值与真实的、规定的或理论上正确的值或条件之间的差别。一个不正确的步骤、过程或数据定
7、义。一个不正确的结果。一次产生不正确的结果的人的活动。故障。在一个计算机程序中出现的不正确的步骤、过程或数据定义常称为故障。上述“差错”中的第二项属于故障。失效。一个程序运行的外部结果与软件产品的要求出现不一致时称为失效。软件失效证明了软件中存在着故障。上述“差错”中的第三项属于失效。,12,可以更清楚地说明失效与故障之间的区别,13,软件差错、已纠正差错、故障及失效的关系,14,4.2可靠性模型及其评价标准,4.2.1 软件可靠性模型为了对软件可靠性进行评估,除了进行软件测试之外,我们还需要借助软件可靠性模型的帮助。软件可靠性模型(Software Reliability Model)是指为
8、预计或估算软件的可靠性所建立的可靠性框图和数学模型。建立可靠性模型可以将复杂系统的可靠性逐级分解为简单系统的可靠性,以便于定量预计、分配、估算和评价复杂系统的可靠性。,15,历史背景,软件可靠性建模是围绕着20世纪70年代的先驱工作者Telinski、Moranda、Shooman和Coutinbo等人的工作展开的。其基本方法是用过去的失效数据建立可靠性模型,然后用所建立起来的模型估计现在和预测将来的软件可靠性。该方法使用的先验条件是给定过去某个时期内的软件失效次数或软件的失效时间间隔。因此,根据模型使用的这两种数据我们将模型分成如下两类:给定时间间隔内的失效数模型。两相临失效间的时间间隔模型
9、。,16,好模型的一般标准,建立软件可靠性模型的目的是估计软件可靠性,提供开发状态、测试状态以及计划日程状态的参考定量数据,监视可靠性性能及其变化。一个好的模型必须有适合具体项目开发过程的正确的假设。如果不知道哪个模型最适合当前项目,那么,一个聪明的办法就是在一个项目上执行一个以上的模型并且综合分析所得到的结果。在软件可靠性模型先驱者的工作成果的基础上,经过更多软件可靠性工作者近40年的努力,软件可靠性模型到目前为止已经出现了很多种,最为常见且比较具有代表意义的模型不下20个。下面简单列举其中的几个:Musa模型,包括基本模型和对数模型;Shooman模型;Goel-Okumoto模型;测试成
10、功模型;威布尔模型。,17,模型分类,Musa和Okumoto根据软件可靠性模型的五种特征,对模型进行了下述分类:时间域(Time Domain):按时钟时间、执行时间(或时间)分类;类别(Category):根据软件在无限的时间内运行时可能经历的故障数是有限的还是无限的进行分类;型式(Type):根据软件在运行时间t时的失效数分布来分类。其中主要考虑泊松分布和二项式分布。种类(Class):根据软件发生故障的故障密度对时间的函数形式分类(仅对有限故障类)。族(Family):根据软件的故障密度对它的期望故障数的函数形式分类(仅对无限故障类)。,18,可靠性度量,常见的软件差错包括非法转移、误
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量保证 测试 PPT 课件 可靠性 度量
链接地址:https://www.31ppt.com/p-1421356.html