第四讲 软件测试与软件质量(1)new

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CMM的意义
迄今为止学术界和工业界公认的有关软件工程和管理实践的最好的软件过程。 为评估软件组织的生产能力提供了标准。 为提高软件组织的生产过程指明了方向。
CMM的五级模型
CMM五级模型(1)
• 第一级:初始级
In Out
特点是软件过程无秩序,有时甚至是混乱的。软 件过程定义几乎没有章法和步骤可循,软件产品所取得 的成功往往依赖极个别人的努力和机遇。
2
3 4 5 6
本节课程内容
1 软件质量的概念 软件质量的范围 软件质量标准 CMM模型 ISO9000标准 SQA简介
2
3 4 5 6
软件质量(Software Quality)的概念
• 质量是系统、部件或过程满足客户或者用户需要的程度。 • 软件质量是软件符合明确叙述的功能和性能需求、文档 中明确描述的开发标准、以及所有专业开发的软件都应 具有的隐含特征的程度。
本节课程内容
1 软件质量的概念 软件质量的范围 软件质量标准 CMM模型 ISO9000标准 SQA简介
2
3 4 5 6
SQA简介
• 软件质量相关人员种类:
– QC(quality control) QA(quality assurance)
• 什么是QA?
餐厅
老板 当班经理 主厨 厨师 检验员
产品质量 过程质量
人们实践产物的属 性和行为。
模型:McCall ISO 9126 Boehm
人们产生产品的过 程的好坏。
模型:CMM ISO 9000
软件质量标准
• 软件质量标准:就是评价一个软件质量好坏的准则。 • 软件的质量标准主要分为两个方向:
产品质量 过程质量
人们实践产物的属 性和行为。
监督员
项目组
老板 项目经理 系统架构师 QA 程序员 测试员
SQA简介
• QA和QC的区别是:
着眼于软件 保证质量符合规定 发现问题 受控
着眼于过程整体
建立体系,确保执行
预防问题
监督
SQA简介
• QA工作内容
– – – – 监控软件开发过程 参与评审、确保文档有效 保证产品和过程符合相应标准和规程 保证问题得以处理
2003年3月
2003年9月 2004年2月 2004年6月 2004年8月 2004年12月 2005年3月 2005年4月 2007年2月
华为印度研究所 (Huawei Technologies co., Ltd.) 2003年8月
CMM
• 能力成熟度模型 (Capability Maturity Model)
本节课程内容
1 软件质量的概念 软件质量的范围 软件质量标准 CMM模型 ISO9000标准 SQA简介
见课本P16-22
2
3 4 5 6
软件质量范围-3A
Accountability (可说明性) Availability (有效性) Accessibility (易用性)
用户可以基于 产品或服务的 描述和定义进 行使用
转行?
现 状 !
本节课程总结(1)
• 软件质量定义
– 满足功能性能需求 – 文档中的开发标准 – 专业软件具有的隐含特性
• 软件质量范围
– 可说明性 – 会用 – – – – 有效性 有用 易用性 好用
• 软件质量标准
产品质量 过程质量 McCall—3方面(运行、修改、变迁)11质量特性 ISO9126—6质量特性21子特性 Boehm—11方面
模型:McCall ISO 9126 Boehm
人们产生产品的过 程的好坏。
模型:CMM ISO 9000
McCall模型
11个质量特性
可维护性 可测试性 灵活性 产品 修订 可移植性 可复用性 互联性
产品 变迁
产品运行
正确性 可靠性 可用性 完整性 效率
McCall模型
正确性
产 品 运 行
在预定环境下,软件满足设计规格说明及用户预期目标的程度。他还要求软 件本身没有错误。 软件按照设计要求,在规定时间和条件下不出故障,持续运行的程度 对于一个软件系统,用户学习、使用软件及为程序准备数据和解释输出所需 工作量的大小 为某一目的而保护数据,避免它受到偶然的或有意的破坏、改动或遗失的能 力 为了完成预定功能,软件系统所需的计算机资源的多少 为了满足用户新的要求或当环境发生了变化,或运行中发现了新的错误时, 对一个已投入运行的软件进行相应诊断和修改所需工作量的大小
Boehm模型
正确性 可靠性 效率 完整性 可用性
阐述性 正确性 连贯性 容错性 执行效率/储存效率 存取控制/存取检查 可操作性 可训练 沟通良好 简单性
可维护性
可测试性 灵活性 可移植性 重复性
互用性
易操作的 工具 自我操作性 扩展性 一般性 模块性
软件系统独立性
机器独立性 通讯公开性 数据公开性
ISO9126 模型
6个质量特性 21个子特性
功能性
可移植性 可靠性
ISO9126
可维护性 效率 易用性
ISO9126 模型
• • • • • • 功能性(适合性、准确性、互用性、依从性、安全性) 可靠性(成熟性、容错性、可恢复性) 易使用性(易理解性、易学性、易操作性) 效率(时间特性、资源特性) 可维护性(易分析性、易改变性、稳定性、易测试性) 可移植性(适应性、易安装性、一致性、易替换性)
软件测试基础
——黑盒测试技术
软件测试与软件质量
主讲人:xxx 主讲人:魏娜娣
1
上节课程回顾
• 软件开发模型:大棒法、边写边改法.... • 软件测试模型:V模型、W模型、H模型
本节教学目标
• • • • 什么是软件质量 ISO CMM SQA
本节课程内容
1 软件质量的概念 软件质量的范围 软件质量标准 CMM模型 ISO9000标准 SQA简介
可靠性 可使用性 完整性 效率
产 品 修 订 产 品 变 迁
可维护性
可测试性
灵活性 可移植性 可复用性 互联性
测试软件以确保其能够执行预定功能所需工作量的大小
修改或改进一个已投入运行的软件所需工作量的大小 讲一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境所 需工作量的大小 一个软件能再次用于其它应用程序的程度 又称互操作性,连接一个软件和其他系统所需工作量的大小。
CMM五级模型(5)
• 第五级:(不断)优化级
通过对来自过程、新概念和新技术等方面各种有用 信息的定量分析,能够不断地、持续性的对过程进行改 进。
CMM五级模型(5)
• 第五级:(不断)优化级
– 过程动态调整、新技术的采用 – 目标是达到一个持续改善的境界。 – 可根据过程执行的反馈信息来改善下一步的执行过程,即优化 执行步骤。 – 如果一个企业达到了这一级,那么表明该企业能够根据实际的 项目性质、技术等因素,不断调整软件生产过程以求达到最佳。
产品或服务对 于99.999% 客户 总是有效的
对于用户,产 品或服务非常 容易使用并且 一定是非常有 用的功能
本节课程内容
1 软件质量的概念 软件质量的范围 软件质量标准 CMM模型 ISO9000标准 SQA简介
见课本P16-22
2
3 4 5 6
软件质量标准
• 软件质量标准:就是评价一个软件质量好坏的准则。 • 软件的质量标准主要分为两个方向:
ISO9000标准简介
• ISO9000与CMM的区别
•国际标准 ISO9000 •广泛领域 •行业标准 •软件行业
CMM
ISO9000标准简介
• ISO9000标准中针对软件的部分是ISO9001和ISO 9000-3 • 在ISO9000-3中的一些要求包括:
– 开发详细的质量计划和程序控制配置管理,产品验证和合法性 验证等。 – 使用客户容易理解、测试时容易进行合法性减产的语句来表述 说明书。 – 开发和编制软件的测试计划。 – 开发检测软件是否满足客户要求的方法。 – 维护测试结果的记录。 – 证明产品在发布之前已经就绪。 – 使用统计技术分析软件开发过程。 – 等„„
CMM五级模型(2)
• 第二级:可重复级
已建立了基本的项目管理过程,可用于对成本,进度 和功能特性进行ห้องสมุดไป่ตู้踪。对类似的应用项目,有章可循,并 能重复以往所取得的成功。
CMM五级模型(2)
• 第二级:可重复级
– Milestone可见,按计划开发 – 软件开发的首要问题不是技术问题而是管理问题。因此,可重 复级的焦点集中在软件管理过程上。 – 一个可管理的过程则是一个可重复级的过程,一个可重级的过 程则能逐渐进化和成熟。 – 该级管理过程包括了需求管理、项目管理、质量管理、配置管 理和子合同管理五个方面。 – 项目管理分为计划过程和跟踪监控过程两个过程。 – 通过实施这些过程,从管理角度可以看到一个按计划执行的且 阶段可控的软件开发过程。
本节课程总结(2)
• 2个过程质量模型
– CMM
• • • • • 初始级 可重复级 已定义级 定量管理级 优化级
– ISO9000标准
• SQA
– – – – 着眼整体 建立体系,确保执行 预防问题 监督
软件测试基础
——黑盒测试技术
2010-2011第二学
43
CMM五级模型(3)
• 第三级:定义级
用于管理的、工程的软件过程均已实现文档化、 标准化,并形成了整个软件组织的标准软件过程。全部 项目均已采用与实际情况相吻合的、适当修改的标准软 件过程来进行。
CMM五级模型(3)
• 第三级:定义级
– 每个阶段的内部活动可见 – 标准过程和项目定义过程裁剪,制定企业范围的工程化标准, 将这些标准集成到企业软件开发标准过程中去。所有开发的项 目需根据这个标准过程,剪裁出该项目的过程,并执行这些过 程。 – 对用于软件开发和维护的标准过程要以文件形式固定下来。针 对各个基本过程建立起文件化的“标准软件过程” 。 – 较普遍的看法是,只有当达到了第3级能力成熟度时,才表明这 个软件组织的软件能力“成熟”了。
CMM等级模型图
初始级
可重复级
已定义级
定量管理级
优化级
本节课程内容
1 软件质量的概念 软件质量的范围 软件质量标准 CMM模型 ISO9000标准 SQA简介
2
3 4 5 6
ISO9000标准简介
• ISO是国际化标准组织,由各国标准化团体组成的世界 性的联合会。 • ISO9000是关于质量管理和质量评价的一系列国际标准。 定义了一套基本达标的做法,有助于公司一致的交付符 合客户质量要求的产品或者服务。
本节课程内容
1 软件质量的概念 软件质量的范围 软件质量标准 CMM模型 ISO9000标准 SQA简介
2
3 4 5 6
我国通过CMM的认证情况(2007年3月)
CMM5 摩托罗拉中国软件中心 沈阳东软股份有限公司 2000年9月 2002年12月
大连海辉科技股份有限公司
新宇科技集团 (Newsky Technology Group) 大连华信计算机技术有限公司 惠普中国软件研发中心 塔塔信息技术(上海)有限公司杭州分公司 毕博全球开发中心 (GDC) 恩益禧-中科院软件研究所有限公司 埃森哲全球信息技术中心 „„„„„„„„„„„„„„„.. 亚信科技(中国)有限公司
CMM五级模型(4)
• 第四级:定量管理级
软件过程和产品质量有详细的度量标准,软件过程 和产品质量得到了定量的认证和控制。
CMM五级模型(4)
• 第四级:定量管理级
– 过程可度量,预测值与结果之间的偏差可控 – 所有过程都需建立相应的度量方式,所有产品的质量(包括工作 产品和提交给用户的产品)需有明确的度量指标。这些度量是详 尽的,且可用于理解、控制软件过程和产品,这种量化控制将 使软件开发真正变成为工业生产活动。 – 处于这一级的组织已经能够为软件产品和软件过程设定定量的 质量目标,并且能对跨项目的重要软件过程活动的效率和质量 予以度量
– 是对于软件组织在定义、实施、度量、控制和改善其软件过程的 实践中各个发展阶段的描述。
软件开发管理水平 强调软件过程改进 体现承接项目的能力
CMM的核心: ※ 把开发视为一个过程 ※ 进行过程监控和研究 ※ 目标:更科学化、 更标准化、 更好实现商业目标
CMM的重要性和实践意义
CMM的作用 科学地评价软件开发单位的软件能力成熟等级, 帮助软件开发单位进行自检,了解自己的强项和弱项, 从而不断完善和改进单位的软件开发过程, 确保软件质量,提高软件开发效率。
相关文档
最新文档