软件质量的基本知识和标准-Read课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件质量的基本知识和标准-Read课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量 基本知识 标准 Read 课件
- 资源描述:
-
1、第一部分软件质量与质量保障本章内容:1 对软件测试和软件质量的思考一、当今社会对软件质量的高要求二、软件质量问题提出的严重挑战三、解决软件质量为题的途径2 软件质量与可靠性概念一、软件质量二、软件可靠性三、软件可靠性模型介绍3 软件质量度量一、软件质量度量框架二、IEEE软件度量方法学步骤简介4 软件质量保障体系介绍1 对软件测试和软件质量的思考一、当今社会对软件质量的高要求 1、计算机已无处不在,从生产到生活,从工厂到家庭,从工作到娱乐 制造业、农业 交通、通信、金融、保险、消防 商业、服务业、供电、供水、医疗卫生 行政管理、政务、公检法 航天、航空、科学研究、军事 教育、文化 2、在一些领
2、域,软件逐步替代了硬件 典型例子:通信领域(20世纪90年代以来) 通信企业都是软件企业 IC制造; 数字模拟代替了物理实验;替代优势替代优势:准确、快速、高效、成本低准确、快速、高效、成本低替代趋势:极为迅猛替代趋势:极为迅猛 用户使用低质量的软件,在运行过程中会产生各种各样的问题,可能带来不同程度的严重后果,轻者影响系统的正常工作,重者造成事故,损失生命财产。 软件:软件(software)是计算机中与硬件相结合的一部分,包括程序(program)和文档(document)1 对软件测试和软件质量的思考 3、对软件质量提出了全方位的要求 功能:愈来愈多、范围广 性能:愈来愈高,速度、响应、
3、适应性 可靠性:稳定可靠 安全性:安全运行 4、关键软件(Critical software): 关键软件:人员和公众的生命和安全 环境质量 数据和信息安全 关于 设备、设施、系统的正常运行 社会的正常秩序 关键软件的特点:规模庞大 大部分为实时、嵌入式 高可靠性 涉及国家政务、军事国防 1 对软件测试和软件质量的思考 二、严重的挑战软件质量问题 1、软件工程技术的发展长期落后于硬件 2、软件常常不能满足应用系统提出的需求 3、由于软件质量造成的事故屡见不鲜 用于F-16的导航软件中的错误使其在飞越赤道时引起飞机翻转; 1981年,对航天飞机定时软件的极小改变引起发射失败; 1 对软件测试和软
4、件质量的思考 4、用户对购买的软件质量不满0 05 5101015152020252530303535404045455050差差勉强勉强尚可尚可较好较好良好良好优秀优秀满意度满意度 用户对软件质量满意度统计1 对软件测试和软件质量的思考 5、解决软件质量问题的实际困难 开发过程和产品不可见 复杂 多变易变 难以量化控制 需求不明 人为因素 测试技术不理想 软件软件:是当前最复杂的脑是当前最复杂的脑力劳动,以个人劳动为基力劳动,以个人劳动为基础的产品,合文化、心理、础的产品,合文化、心理、集体性有极大关系。集体性有极大关系。1 对软件测试和软件质量的思考 三、解决软件产品质量问题的途径从软件测
5、试的角度 1、增强软件产品开发的质量意识,重视测试工作的组织 2、加强测试人员队伍的建设 软件质量和测试人员资格制度 加强培训:技术、管理 3、软件开发组织中建立独立的测试机构,体现独立测试原则 4、对整个软件开发过程实施规范化管理 产品质量取决于生产产品所采用过程的过程控制 ISO9000,CMM(软件过程成熟度)等 5、CMM对软件测试提出的要求 (1)选取适用的测试支持工具 (2)对软件工程技术人员进行软件测试及其它验证技术的培训 (3)对完成的代码实时同行评审和单元测试 (4)按项目定义的软件过程进行软件测试 (5)按软件过程计划和执行集成测试、系统测试、验收测试 (6)收集和分析测试
6、中发现的缺陷数据 改正 6、CMM中软件质量保证、验证 评审和审核提出了更多的要求 制定和评审测试标准制定和评审测试标准选用有效的测试方法选用有效的测试方法做到测试的充分性做到测试的充分性建立和使用测试准备就绪准建立和使用测试准备就绪准则则实施回归测试实施回归测试对测试计划、测试规程、测对测试计划、测试规程、测试用例进行评审试用例进行评审对测试计划、测试规程、测对测试计划、测试规程、测试用例进行管理试用例进行管理对测试计划、测试规程、测对测试计划、测试规程、测试用例进行控制试用例进行控制软件测试是保证软件质量的最重要的手段 2 软件质量、软件可靠性概念内容:内容:1 1、软件质量、软件质量2
7、2、软件可靠性概念、软件可靠性概念3 3、软件可靠性模型介绍、软件可靠性模型介绍2 软件质量与可靠性概念软件质量与可靠性概念一、软件质量:一、软件质量: 是贯穿软件生存期的一个极为重要的问题,使软件开发过程中所使用的各种开发技术和验证方法的最终体现。软件质量的定义: ANSI/IEEE std 729-1983定义软件质量为: 与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体 可从三方面来理解:软件需求是衡量软件质量的基础,不符合需求的软件就不具备质量。规定了的标准是软件开发必须遵循的准则。如果已开发的软件已经满足了那些明文规定的需求,却没有满足那些隐含的需求,那么软件产品的质量仍
8、然是有问题的。2 软件质量与可靠性概念软件质量与可靠性概念二、软件可靠性二、软件可靠性 软件质量的一项重要指标软件质量的一项重要指标 是指“在规定的条件下和规定的时间内,计算机程序完成规定功能(无故障运行)的概率”。 什么是Bug:在英语中是“小虫子”的意思,现在泛指计算机中软件或硬件错误。 Bug和Debug的由来: Bug之多:微软Windows 98操作系统改正了windows 95 里面5000多个Bug 计算机中含有这么多Bug有一个技术原因: 软件愈来愈庞大复杂 在任何复杂的大系统中,错误是难免的,大型软件尤其难以按期完成 国外统计:17万个项目(总投资2500亿美元) 6%按期按
9、预算完成; 31%中途取消; 61%最终完成,但都超出了预算和进度(一大半项目的实际花费超出预算达189%) Bug的确切定义:软件的Bug指的是软件中(程序和文档)不符合用户需求的问题 常见的软件Bug分成3中类型: (1)完全没有实现的功能 (2)基本实现了用户需要的功能,但在运行时会出现一些功能和性能上的问题; (3)实现了用户不需要的功能,即多余功能。2 软件质量与可靠性概念软件质量与可靠性概念衡量软件可靠性的简单指标:平均失败间隔时间MTBF 指两次此相邻失效时间间隔的平均。 MTBF=MTTF(平均无故障时间)+MTTR(平均修复时间)MTTF(平均无故障时间):指当前时间(有效)
10、到下一次失败的时间平均MTTR(平均修复时间):指从一次故障产生到故障恢复的时间平均MTTF(平均故障时间) MTTR(平均修复时间 平均失败间隔时间MTBF2 软件质量与可靠性概念软件质量与可靠性概念 R可靠度:在规定时间内无失效发生的概率。 设规定时间为t0 ,软件发生失效的时间是,R(t0)=P( t0). MTTF即为在时间0-无穷内对R(t0)的积分。2 软件质量与可靠性概念软件质量与可靠性概念由来:由来:通过拥有一个软件可靠性如何随着时间的变化而变化的健壮的模通过拥有一个软件可靠性如何随着时间的变化而变化的健壮的模型,使得管理部门能够通过收集软件确认测试中的数据,制订一型,使得管理
11、部门能够通过收集软件确认测试中的数据,制订一个可靠性目标,并跟踪目标实现的过程。个可靠性目标,并跟踪目标实现的过程。目的:目的: 能够用平均故障时间(MTTF)测量和预测软件可靠性 确定最佳停止测试和发布软件的时间 为权衡测试时间、可靠性、费用和性能指标提供数据 定义符合实际的软件可靠性指标三、软件可靠性模型介绍2 软件质量与可靠性概念软件质量与可靠性概念 软件可靠性模型目前有40多种(常用10多种) 可靠性建模是可靠性估计过程的基础,它确定产品是否达到了可靠性指标,是否可以发行。目前比较流行的有: Jelinski-Moranda的故障分离模型 Goel-Okumoto的NHPP模型非齐次泊
12、松过程模型黑盒测试: Musa的基本执行时间模型 增强的NHPP模型(广义泊松模型) Littlewood-Verrall的贝叶斯判定模型 Krishna-murthy和Mathur的基于路径的模型白盒测试 Gokhala et al.的基于状态的模型3 软件质量度量 有许多因素影响软件质量 可直接度量的因素 把影响软件质量 的因素分为两类 只能间接度量的因素 不管哪一类,必须能够度量,构成了软件质量度量体系。 IEEE有关软件质量度量方法学的标准1061-1998一、软件质量度量框架软件质量度量框架:一组用来组织、选择、沟通、评价软件系统要求的质量属性的辅助决策法,他逐层分解为特性、子特性和
13、度量。质量特性:一个与质量有关的面向管理的软件属性;质量子特性:质量特性分解出来的技术组件直接度量:一种不依赖于其他属性测量的度量;预计度量:一种适用于开发阶段的度量,它用来预计软件质量特性的值;软件质量度量:一个函数,它的输入是软件数据,输出是一个单一数值,它可解释为给定的软件属性对其质量的影响程度;过程度量:一种用来测量在软件系统开发、实现和维护过程中使用的方法、技术和工具特性的度量产品度量:一种用来测量软件开发过程中任何中间或最终产品特性的度量。软件质量度量框架 软件产品质量需求 特性 特性 特性 直接度量 直接度量 直接度量 子特性 子特性 子特性 度量 度量 度量 与质量需求相关联的
14、质量特性与质量需求相关联的质量特性 质量需求质量需求 质量特性质量特性 描述描述 产品将在多平台和当前正在使用的操作系统上运行 可移植性 与软件可从某一个环境转移到另一个环境的能力有关的一组属性 产品将是可靠的并能提供防止数据丢失的机制 可靠性 与在规定的一段时间和条件下,软件维持其性能水平 产品将提供完成某些任务所必须的功能 功能性 与一组满足明确或隐含的用户需求功能及其指定的性质有关的一组属性 产品将易于使用 可使用性 与使用(包括使用前的准备和结果评估)所需的努力和用户对使用所作的个人评估有关的一组属性 与质量特性相关联的质量子特性与质量特性相关联的质量子特性 质量特性质量特性 质量子特
15、性质量子特性 描述描述 可移植性 硬件独立性 软件独立性 易安装性 可重用性 软件不依赖于特定的硬件环境的程度 软件不依赖于特定的软件环境的程度 软件安装到一个新环境所需努力的程度 软件可重新应用到于原应用不同的应用的程度 可靠性 无缺陷性 容错性 可用性 软件不包含没有被检测出的错误的程度 软件没有出现对用户造成损害的系统失效的并能继续工作的程度, 其中包括软件降级操作和恢复功能的程度 在系统失效情况下,软件仍然可操作的程度 功能性 完备性 正确性 安全性 兼容性 互操作性 软件具有的能满足用户需要的必须的和足够的功能的程度 所有软件功能和指定的功能相符合的程度 软件能够检测和防止信息泄漏、
16、信息丢失、非法使用和系统资源破坏的情况 在不改变环境和事先准备某些条件的情况下、软件可直接安装的程度 软件能够与其他系统方便连接并能操作的程度 可使用性 易理解性 易学性 易操作性 沟通性 理解软件所需的努力的程度 用户为理解软件所花努力最小的程度 软件操作与目的,环境和用户的生理特性相匹配的程度。包括工作环境改造学因素如颜色、形状和声音 软件符合用户生理特性的程度 直接度量例子直接度量例子 直接度量直接度量 直接度量直接度量 描述描述 硬件独立性 软件独立性 易安装性 可重用性 硬件依赖性 软件依赖性 安装时间 能够用于其他应用软件中 计算硬件的依赖性 计算软件的依赖性 测量安装时间 计算能
17、够用于或已经用于其他应用中的软件质量 无缺陷性 容错性 可用性 测试覆盖 审查覆盖 数据完整性 数据恢复 软件可用的时间百分比 测量测试覆盖 计算已做过代码审查的模块 统计用户数据被破坏的情况 测量恢复被破坏的数据的能力 软件可用时间除以总的软件使用时间() 完整性 正确性 安全性 兼容性 互操作性 测试覆盖 缺陷密度 数据完整性 用户安全性 环境变化 混合应用环境下软件的可操作性 调用对测量或分支覆盖测量 计算在软件发布前每一个版本中发现的缺陷 统计用户数据被破坏的情况 没有被阻止使用软件的非法用户数量 软件安装后必须修改的环境变量数量 混合应用环境下软件能正确运行的数量 易理解性 易学性
18、易操作性 沟通性 学习所用的时间 学习所用的时间 人的因素 人的因素 新用户学习软件特性所花的时间 新用户学习如何操作软件提供的基本功能所花费的时间 新用户关于人类工程学、人的因素等消息的评论数量 新用户关于人类工程学、人的因素等消息的评论数量 二、IEEE软件度量方法学步骤1. 确定软件质量需求2. 确定软件质量度量3. 实施软件质量度量4. 分析软件质量度量5. 确认软件质量度量直接度量文档与质量需求相关联的质量特性 项目项目 描述描述 名称 度量名称 费用 使用该度量的花费 目标值 确认质量需求应达到的数值 工具 有助于计算度量值的硬件/软件工具 应用 描述度量结果如何使用 数据项 计算
展开阅读全文