1、1. 软件质量原则(ISO)1.1 软件质量保证(ISO) ISO (International Standardization Organization,国际原则化组织) TC/176技术委员会制定所有国际原则 质量保证原则(ISO9001/2/3) 质量管理原则(ISO9004) TC176即ISO中第176个技术委员会,成立于1980年,全称是“质量保证技术委员会”,1987年又改名为“质量管理和质量保证技术委员会”。TC176专门负责制定质量管理和质量保证技术原则1.2 ISO 软件质量原则思想 控制思想,即对产品形成全过程进行控制。任何事物都是由一种或各种过程活动成果,只要对产品形成
2、全过程进行控制并达到过程质量规定,最后产品质量就有了保证 防止思想。通过对产品形成全过程进行控制以及建立并有效运营自我完善机制达到防止不合格,从主线上减少或消除不合格品1.3 ISO 软件质量原则构造ISO9000系列原则主体某些分为两组: “需方对供方规定质量保证”原则ISO90019003 “供方建立质量保证体系”原则ISO9004ISO9001:设计/开发、生产、安装和服务中质量保证模式;ISO9002:生产和安装中质量保证模式;ISO9003:最后检查和测试中质量保证模式;ISO9004:质量管理和质量体系要素导则。1.3.1 ISO9000与GB/T19000关系1.3.2 ISO9
3、000-3 是什么 ISO9000-3其实是ISO质量管理和质量保证原则在软件开发、供应和维护中使用指南,并不作为质量体系注册/认证时评估准则,重要考虑软件行业特殊性制定。参照ISO9001质量体系 设计、开发、生产、安装和服务质量保证模式,并引用ISO 8402质量管理和质量保证术语,使得ISO9000系列原则应用范畴得以拓展.1.3.3 ISO9000-3原则软件开发、供应、维护中应用ISO9001指南是指南,不是原则依然困惑:依然强调是供应商和顾客关系,不是工程师该如何做1.3.4 ISO 9000-3 体系构造 合同评审 需方需求规格阐明 开发筹划 质量筹划 设计和实现 测试和确认 验
4、收 复制、交付和安装 维护2.软件测试规范2.1 概念 软件测试规范就是对软件测试流程过程化并对每一种过程元素进行明确界定,形成完整规范体系。2.2 完整软件测试规范是如何 规范自身详细阐明,例如规范目、范畴、文档构造、词汇表、参照信息、可追溯性、方针、过程/规范、指南、模板、检查表、培训、工具、参照资料等等。2.3 制定测试规范需要考虑内容 角色拟定 进入准则 输入项 活动过程 输出项 验证与确认 退出准则 度量3.CMM思想和构造体系3.1 CMM是什么? CMM即软件能力成熟度模型(Capability Maturity Model)是向软件组织提供如何增长对其开发和维护软件过程控制能力
5、。设计并实行CMM是为了指引软件组织: 通过拟定当前过程成熟度级别和辨认出对软件质量和过程改进至关重要问题,来选取其过程改进方略。 通过关注一组有限活动,并为实现它们而积极工作,组织能稳步地改进其软件过程,使其软件过程能力持续不断地增长。3.2 CMM历史CMM分阶段体系构造源于己有60近年历史产品质量原理。ITTPhilip Crosby在其书“Quality is Free”(Crosby 79)中一方面提出将质量原理改编为成熟度框架思想。Humphrey成熟度框架初期版本刊登在SEI技术报告(Humphrey 87a,Humphrey 87b)、文章(Humphrey 88)和书“Man
6、aging the software Process”(Humphrey 89)中。3.3 CMM5个级别3.4 不同成熟度项目成果3.5 CMM五个级别及核心过程域3.6 核心过程域(Key Areas)3.7 CMM五个级别及核心过程域3.8 ISO9000与CMM3.8.1 ISO与CMMI关系 ISO9000相称于CMM二级和三级一某些内容(有人称为2.5级) CMM和ISO9000认证自身没有优劣之分 CMM是一种动态过程 对于预算、项目周期管理等ISO9000涉及不够内容,CMM有所覆盖3.8.2 ISO与CMM区别 ISO9001是通用国际原则,合用于各类组织。 CMM是美国军方
7、为评价软件供应商质量水平,委托SEI开发一种评价模型,只用于软件业。 CMM更详细,更专业。 ISO9001只建立了一种可接受水平,而CMM是一种具备五个水平评估工具。 ISO9001聚焦于供应商和顾客间关系,而CMM更关注软件开发过程。3.9 CMM与ISO9001关系4. 建立软件测试管理和评判体系4.1 为什么要建立管理与评判体系? 监视和测量软件产品 辨认和控制不符合规定产品 验证产品设计和开发 监视和测量软件过程4.2 测试管理和评判体系发呈现状1.美国质量保证研究所对软件测试研究成果表白:越早发现软件中存在问题,开发费用就越低;在编码后修改软件缺陷成本是编码前10倍,在产品交付后修改软件缺陷成本是交付前10倍;软件质量越高,软件发布后维护费用越低。此外,依照对国际知名IT公司记录,它们软件测试费用占整个软件工程所有研发费用50% 以上。2.中华人民共和国软件公司在软件测试方面与国际水准仍存在较大差距。一方面,结识上重开发、轻测试,没有结识到软件项目如期完毕不但取决于开发人员,更取决于测试人员;另一方面,管理上随意、简朴,没有建立有效、规范软件测试管理和评判体系;此外,缺少自动化工具支持,大多数公司在软件测试时并没有建立软件测试管理与评判体系。4.3 如何建立测试管理与评判体系