《品质管理品质知识软件测试2软件质量保证》由会员分享,可在线阅读,更多相关《品质管理品质知识软件测试2软件质量保证(49页珍藏版)》请在金锄头文库上搜索。
1、此处是大标题样稿字样十五此处是大标题样稿字样十五 字以内字以内 内容 软件质量 软件质量保证:SQA SQA目标 SQA模型 ISO9001 CMM SQA支持工具 软件质量 什么是软件质量 软件质量是指软件符合 的程度 明确定义的功能和性能需求 明确规定的开发标准和准则 隐含要求的其他特性 高质量的软件 能够按照预期的时间和成本 提交给用户,并能够按照预 期要求正确工作的软件 Scope Time Cost 软件质量 为什么提出软件质量 软件质量不高是导致软件危机的根本原 因 进度延误、预算超支 项目失败、项目终止 软件质量高可以降低总成本TOC 软件维护成本 高质量的软件可以降低维护成本,
2、并延长 软件的生命期,从而降低总成本 软件失效成本 高质量的软件可以降低软件失效导致的成 本损失,从而降低总成本 怎样提高软件质量 目标 减少软件中的bug 策略 GoodEnough Zero-Bug 方法 防止在软件中引入错误 通过检测找出软件中的错误, 并解决这种错误 软件质量 内容 软件质量 软件质量保证:SQA SQA目标 SQA模型 ISO9001 CMM SQA支持工具 软件质量保证:SQA 什么是SQA SoftwareQuality Assurance 是软件工程领域中的一部分 为了确保软件开发过程和结 果符合预期的要求,而建立 的一系列规程,以及依照规 程和计划采取的一系列
3、活动 及其结果评价 软件开发过程是按照计划和规 范实施的 软件开发结果包括完整的软件 和文档,并且符合可预期的目 标和检验标准 内容 软件质量 软件质量保证:SQA SQA目标 SQA模型 ISO9001 CMM SQA支持工具 SQA目标 SQA总目标 减少并纠正实际的软件开 发过程和软件开发结果与 预期的软件开发过程和软 件开发结果的不符合情况 SQA方法 通过在软件开发周期中尽 可能早地预期或检测到不 符合情况(错)误,来防止 错误的发生,并减少错误 纠正的成本 错误发现得越早,造成的损失 越小,修改的代价也越小 SQA目标 软件开发不同阶段: 需求分析:Requirements Ana
4、lysis 规格定义:Software Specifications 设计:Design 编码:Coding 测试:Testing 维护:Maintenance SQA目标 需求分析:Requirements Analysis 确保客户提出的要求是可 行的 确保客户了解自己提出的 需求的含义,并且这个需 求能够真正达到他们的目 标 确保开发人员和客户对于 需求没有误解或者误会 确保按照需求实现的软件 系统能够满足客户提出的 要求 SQA目标 规格定义:Software Specifications: 确保规格定义能够完全符合、 支持和覆盖前面描述的系统 需求 可以采用建立需求跟踪文档 和需求实
5、现矩阵的方式 确保规格定义满足系统需求 的性能、可维护性、灵活性 的要求 确保规格定义是可以测试的, 并且建立了测试策略 确保建立了可行的、包含评 审活动的开发进度表 确保建立了正式的变更控制 流程 SQA目标 设计:Design: 确保建立了设计的描述标准, 并且按照该标准进行设计 确保设计变更被正确的跟踪、 控制、文档化 确保按照计划进行设计评审 确保设计按照评审准则评审 通过并被正式批准之前,没 有开始正式编码 SQA目标 编码:Coding: 确保建立了编码规范、文档 格式标准,并且按照该标准 进行编码 确保代码被正确地测试和集 成,代码的修改符合变更控 制和版本控制流程 确保按照计划
6、的进度编写代 码 确保按照进化的进度进行代 码评审 SQA目标 测试:Testing: 确保建立了测试计划,并 按照测试计划进行测试 确保测试计划覆盖了所有 的系统规格定义和系统需 求 确保经过测试和调试,软 件仍旧符合系统规格和需 求定义 SQA目标 维护:Maintenance: 确保代码和文档同步更新, 保持一致 确保建立了变更控制流程和 版本控制流程,并按照这些 流程管理维护过程中的产品 变化 确保代码的更改仍旧符合编 码规范、通过代码评审,并 且不会造成垃圾代码或冗余 代码 内容 软件质量 软件质量保证:SQA SQA目标 SQA模型 ISO9001 CMM SQA支持工具 SQA模
7、型 质量管理历史 质量就是产品、过程、系统符合标准要求 的能力 质量是生产出来的,不是检测出来的 二次世界大战的美国DOD,过程控制 质量存在于全部直接/间接相关的环节中 Deming,日本的全面质量管理TQM QualityisFree Crosby,预防为主,第一次就把事情做好是最 经济的 质量管理的灵魂在于持续改进 PDCA SQA模型 软件质量管理相关标准和技术 标准 ISO9000族标准 国际标准,ISO/TC176制订,适用于所有 行业,其中9000-3针对软件开发行业 SW-CMM标准 行业标准,CMU-SEI制订和管理,针对 软件开发行业 TickIT标准 行业标准,英国软件行
8、业协会制定,针对 软件开发行业 ISO15504标准 国际标准,试图结合ISO9000、CMM与 软件工程概念 BestPractices RUP/XP/ 项目管理技术 项目:目标、起止时间、相关活动 定义、计划、实施 内容 软件质量 软件质量保证:SQA SQA目标 SQA模型 ISO9001 CMM SQA支持工具 ISO9001 ISO9000族标准 一系列关于质量管理/质 量保证/质量审核方面的 国际标准, 1983/1994/2000 9001/9002/9003/9004/900 0-3 是管理思想的精华,管理 工作的指导原则,也是做 事方式 文档管理:写你要做的, 做你所写的,记
9、你所做的 过程控制:PDCA-计划 性及持续改进 相关标准:QS9000等 ISO9001 原则 原则1:以顾客为中心 组织依存于顾客。因此,组 织应理解顾客当前和未来的 需求,满足顾客要求并争取 超越顾客期望 原则2:领导作用 领导将本组织的宗旨、方向 和内部环境统一起来,并创 造使员工能够充分参与实现 组织目标的环境 ISO9001 原则 原则3:全员参与 各级人员是组织之本。只有 他们的充分参与,才能使他 们的才干为组织带来最大的 收益 原则4:过程方法 将相关的资源和活动作为过 程进行管理,重视输入和输 出,可以更高效地得到期望 的结果 ISO9001 原则 原则5:管理的系统方法 针
10、对设定的目标,识别、 理解并管理一个由相互关 联的过程所组成的系统, 有助于提高组织的有效性 和效率 原则6:持续改进 持续改进是组织的一个永 恒目标 ISO9001 原则 原则7:基于事实的决策 方法 对数据和信息的逻辑分析 或直觉判断是有效决策的 基础 原则8:互利的供方关系 通过互利的关系,增强组 织及其供方创造价值的能 力 ISO9001 在软件企业的实施案例 原则: 运用项目管理技术 重视质量策划 重视培训和工具支持 框架: 质量手册、规程文件、作业指导 书 开发管理、体系支持 index.html ISO9001 在软件企业的实施案例 角色分工 ISO9001 在软件企业的实施案例
11、 产品开发规程 ISO9001 在软件企业的实施案例 定制项目开发规程 ISO9001 在软件企业的实施案例 体系支持规程体系支持规程 1.1.管理评审规程管理评审规程 2.2.质量体系文件控制规程质量体系文件控制规程 3.3.内部质量体系审核规程内部质量体系审核规程 4.4.纠正措施规程纠正措施规程 5.5.预防措施规程预防措施规程 6.配置管理规程配置管理规程 7.更改控制规程更改控制规程 8.产品开发文档控制规程产品开发文档控制规程 9.质量记录控制规程质量记录控制规程 10.产品度量规程产品度量规程 11.过程度量规程过程度量规程 12.规则、惯例和约定控制规程规则、惯例和约定控制规程
12、 13.工具和技术控制规程工具和技术控制规程 14.采购规程采购规程 15.配套软件产品控制规程配套软件产品控制规程 16.病毒防治规程病毒防治规程 17.产品加密规程产品加密规程 18.培训规程培训规程 ISO9001 在软件企业的实施案例 ISO9001是品质保证标准,对过程管理 提出最低要求 质量保证体系根据软件工程原理自行设 计和维持,满足ISO9001要求 质量策划根据项目自身特点,对质量体 系进行剪裁和补充 内容 软件质量 软件质量保证:SQA SQA目标 SQA模型 ISO9001 CMM SQA支持工具 CMM 什么是CMM 1980s,CMU-SEI的过程成熟 度模型,针对软
13、件企业,目前 是CMMI CMM与ISO9000 采用与ISO9000一致的管理思 想,针对知识密集型/系统复 杂型过程,尤其是软件开发过 程 SW-CMM CMM 初始级 可重复级 已管理级 已定义级 优化级 成成 熟熟 度度 风风 险险 作用:CPA与SPI CMM 在软件企业的实施案例 历史 1997-1998:iso9001证书 1999-2000:关注CMM、 RUP 1999-2001:用CMM检查/ 补充iso9001 2000-2001:CMM 观点 CMM与iso9001不矛盾、并 且可以互补 不拘泥于形式,利用思想、 关注目标和效益 CMM 在软件企业的实施案例 实施原则
14、1、改进的原则 不要完全打破旧有体制和流程 体系和流程需要持续的改进和 优化,不可松懈 2、控制点原则 注重特殊过程和关键过程,找 出控制点 3、角色分工的原则 注重接口,责任落实 CMM 在软件企业的实施案例 实施重点 1、风险分析和管理 预防胜于补救 SQA的目标是规避风险 测试的策略也是消除风险 2、质量计划 项目环境多变,不要试图千篇一 律,针对每一个项目做出一个质 量计划 CMM 在软件企业的实施案例 实施重点 3、需求管理 需求管理是软件开发中的第 一大风险 需求是软件开发的内在的核 心驱动和最活跃因素 需求的表达和传递-UML 管理需求-与用户一同工作 需求管理-好的配置管理支
15、持 CMM 在软件企业的实施案例 实施重点 4、配置管理 配置管理是项目中最易见效 的要素 要有好的工具支持 (Clearcase/SourceSafe) 要有配置管理员的角色 CMM 在软件企业的实施案例 实施重点 5、项目组内部工具和编码 规范统一 一致比效率和个性更重要 68%的编码错误是因为没有 遵从编码规范 避免误解和返工,避免工具 间接口和版本不同带来的麻 烦 CMM 在软件企业的实施案例 实施重点 6、独立的QA和测试 人性使然 自己发现不了自己的错误 自己不愿意发现自己的错误 不愿意报告利益相关人的错 误 找错是手段、度量和降低风险才 是目的 本身也是管理的手段 CMM 在软件
16、企业的实施案例 实施重点 7、重视评审和落实 事先找出关键点和特殊点, 注重评审的计划性和强制性, 使用Checklist 规程和计划要不折不扣地执 行 逐步实施 Pilot方法 CMM 在软件企业的实施案例 实施重点 8、强制与培训并重 强制与培训是互补的 行为-习惯-性格-结 果/命运 工具的作用 提高执行效率和管理效 率 提供强制执行手段 CMM 在软件企业的实施案例 实施难点 1、度量与预算 产品质量度量 质量体系有效性度量 项目进度度量 员工工作量度量 CMM 在软件企业的实施案例 实施难点 2、管理和技术创新的矛盾 按部就班与反应速度 3、人员激励与规范的矛盾 内容 软件质量 软件质量保证:SQA SQA目标 SQA模型 ISO9001 CMM SQA支持工具 SQA支持工具 SQA实施要素 规范 规程、模板、指南 文档、记录 人员 分工、接口、培训、检查