文档详情

软件可靠性度量和测试.ppt

发布:2016-10-31约6.95千字共36页下载文档
文本预览下载声明
第4章 软件可靠性度量和测试 内容提要 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 软件可靠性模型评价准则 内容提要 4.3软件可靠性测试和评估 4.3.1 软件可靠性评测 4.3.2软件可靠性测试的具体实施过程 4.4提高软件可靠性的方法和技术 4.4.1 建立以可靠性为核心的质量标准 4.4.2 选择开发方法 4.4.3 软件重用 4.4.4 使用开发管理工具 4.4.5 加强测试 4.4.6 容错设计 4.5 软件可靠性研究的主要问题 4.6小结 4.1软件可靠性 用软件系统规模越做越大越复杂,其可靠性越来越难保证。应用本身对系统运行的可靠性要求越来越高,在一些关键的应用领域,如航空、航天等,其可靠性要求尤为重要,在银行等服务性行业,其软件系统的可靠性也直接关系到自身的声誉和生存发展竞争能力。 特别是软件可靠性比硬件可靠性更难保证,会严重影响整个系统的可靠性。 在许多项目开发过程中,对可靠性没有提出明确的要求,开发商(部门)也不在可靠性方面花更多的精力,往往只注重速度、结果的正确性和用户界面的友好性等,而忽略了可靠性。 在投入使用后才发现大量可靠性问题,增加了维护困难和工作量,严重时只有束之高阁,无法投入实际使用。 4.1.1 软件可靠性发展史 软件工程的发展大体上可分为下列四个阶段。 1950年~1958年 1959年~1967年 1968年~1978年 1978年至今 4.1.2 软件可靠性的定义 1983年美国IEEE计算机学会对“软件可靠性”一词正式作出了如下的定义: 在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的错误的函数;系统输入将确定是否会遇到已存在的错误(如果错误存在的话); 在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。 输入空间示意图/离散型运行剖面图/连续型运行剖面图 4.1.3 软件可靠性的基本数学关系 4.1.4 软件可靠性与硬件可靠性的区别 软件和硬件在可靠性特征上的差异,主要有以下几点: 最明显的是硬件有老化损耗现象,硬件失效是物理故障,是器件物理变化的必然结果,有浴盆曲线现象;软件不发生变化,没有磨损现象,有陈旧落后的问题,没有浴盆曲线现象。 硬件可靠性的决定因素是时间,受设计、生产、运用的所有过程影响,软件可靠性的决定因素是与输入数据有关的软件差错,是输入数据和程序内部状态的函数,更多地决定于人。 硬件的纠错维护可通过修复或更换失效的系统重新恢复功能,软件只有通过重设计。 对硬件可采用预防性维护技术预防故障,采用断开失效部件的办法诊断故障,而软件则不能采用这些技术。 事先估计可靠性测试和可靠性的逐步增长等技术对软件和硬件有不同的意义。 为提高硬件可靠性可采用冗余技术,而同一软件的冗余不能提高可靠性。 硬件可靠性检验方法已建立,并已标准化且有一整套完整的理论,而软件可靠性验证方法仍未建立,更没有完整的理论体系。 硬件可靠性已有成熟的产品市场,而软件产品市场还很新。 软件错误是永恒的,可重现的,而一些瞬间的硬件错误可能会被误认为是软件错误。 4.1.5 影响软件可靠性的因素 软件差错是软件开发各阶段潜入的人为错误: 需求分析定义错误。如用户提出的需求不完整,用户需求的变更未及时消化,软件开发者和用户对需求的理解不同等等。 设计错误。如处理的结构和算法错误,缺乏对特殊情况和错误处理的考虑等。 编码错误。如语法错误,变量初始化错误等。 测试错误。如数据准备错误,测试用例错误等。 文档错误。如文档不齐全,文档相关内容不一致,文档版本不一致,缺乏完整性等。 4.1.6 软件的差错、故障和失效 异常。偏离期望的状态(或期望值)的任何情形都可称为异常。 缺陷。不符合使用要求或与技术规格说明不一致的任何状态常称为缺陷。 差错。从一般意义上说,差错有下面几个方面不同的含义: 计算的、观测的或测量的值与真实的、规定的或理论上正确的值或条件之间的差别。 一个不正确的步骤、过程或数据定义。 一个不正确的结果。 一次产生不正确的结果的人的活动。 故障。在一个计算机程序中出现的不正确的步骤、过程或数据定义常称为故障。上述“差错”中的第二项属于故障。 失效。一个程序运行的外部结果与软件产品的要求出现不一致时称为失效。软件失效证明了软件中存在着故障。上述“差错”中的第三项属于失
显示全部
相似文档