ISO 软件质量标准结构
ISO9001:设计/开发、生产、安装和服务中质量保证模式;ISO9002:生产和安装中的质量保证模式;ISO9003:最终检验和测试中的质量保证模式;ISO9004:质量管理和质量体系要素导则。ISO9000-3
ISO9000-3其实是ISO质量管理和质量保证标准在 软件开发、供应和维护中的使用指南,并不作为质 量体系注册/认证时的评估准则,主要考虑软件行业 的特殊性制定。
软件开发、供应、维护中应用ISO9001的指南是指南,不是标准依然困惑:依然强调的是供应商和顾客的关系,不是程师该如何做
CMM思想和结构体系
CMM即软件能力成熟度模型(Capability Maturity Model)是向软件组织提供如何增加对其开发和维护软件过程的控制能力。
CMM五个等级: 一级为初始级, 二级为可重复级, 三级为已定义级, 四级为已管理级, 五级为优化级。
个体软件过程PSP与团队软件过程TSP
PSP
TSP
能力成熟度模型集成CMMI
CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成
目前版本CMMI 1.3
连续式表现方法则通过将CMMI中过程区域分为四大类:过程管理、项目管理、工程以及支持。对于每个大类中的过程区域,又进一步分为基本的和高级的。
能力度等级
0 不完整级1 已执行级2 已管理级 3 已定义级4 量化管理级5 最优化级软件质量保证 SQA
软件质量保证(Software Quality Assurance)软件开发过程中四点要求:
确保SQA活动要自始至有计划的进行审查软件产品和活动是否遵守适用的标准、规程和要求并得到客 观验证。SQA的活动和结果要保证全员参与,沟通顺畅。逐级解决不符合问题
是从第三方角度独立审查软件是否遵循已制定的计划、标准 和规程,提供给开发人员和管理层产品和过程的质量信息和数据。
SQA的工作内容
重点
为项目准备SQA计划:与项目开发计划一致,得到评 审确认。参与开发项目的过程定义和描述:评审项目制定的开发 过程定义,确保与组织企业的政策和标准相一致评审项目实施中的各项软件工程活动:核实、记录、跟 踪不符合项审计预定的软件工作产品:核实、记录、跟踪不符合项处理不符合问题:按照SQA规程处理不符合项形成报告:书写SQA报告,发布给相关人员和高层
SQA的工作措施
应用好的技术方法:指导项目组使用适合的开发技术方法和 工具平台,保证高质量的开发结果进行正式的技术评审:在项目里程碑之处,组织正式的技术 评审,严格审查软件产品组织实施多种软件测试策略:通过测试发现大多数软件缺陷遵循软件质量标准:按照国际、国家或行业标准来制定评审 要求严格控制修改变更:减小变更带来的缺陷引入度量:选择完善的信息数据进行收集,并使用分析手段分析记录、保存和报告质量信息:软件质量保证收集分析的数据要提供给项目组成员或者高层管理者SQA与软件测试的关系
SQA 是管理工作,审查对象是流程、强调以预防为主测试是技术工作、测试对象是产品、主要是以事后检查SQA指导测试、监控测试测试为SQA提供依据评审
评审是为了提高软件产品的质量、降低软件开发的成本, 从而逐步提高生产率,在管理和技术的合适层次上进行检查
不实际运行程序,而是通过检 查和阅读等手段来发现错误并 评估代码质量的软件测试技术。 也称为静态测试技术。
包括走查和审查和同行评审。
走查
开发组内部进行的,采用讲解、讨论和模拟运行的方式进行的 查找错误的活动。
检查要点:逻辑错误、代码标准/规范/风格
审查
开发组内部进行的,采用讲解、提问并使用Checklist方式进行 的查找错误的活动。一般有正式的计划、流程和结果报告。
是一种正式的审查。以会议的形式,制定会议目标、流程和规则,结束后要编写报告。
检查要点:设计需求
同行评审
开发组、测试组和相关人员(QA、产品经理等)联合进行的,采用 讲解、提问并使用Checklist方式进行的查找错误的活动。一般有 正式的计划、流程和结果报告。
检查要点:需求与设计、文档的完整性和一致性
评审类别
将软件生命周期内的评审分成三类:管理评审、技术评审、 SQA评审和审计。