软件测试依据和规范
2020/3/3
基于CMM模型的过程改进
• 软件过程改进的方法论-IDEAL 学习 Learning
修改组 织的方 法
改进 动机
确定改进 范围以及 获取支持
建立改 进机制
初始化
Initiating
2020/3/3
评估当前实 践情况
提出建 议并记 录阶段 成果
诊断
Diagnosing
记录和分析 教训
V-优化级
过程更改管理* 技术更改管理* 错误预防*
IV-已管理级
质量管理* 过程量化管理*
同级评审* 组间协作 软件产品工程* 软件集成管理* 培训计划 软件过程定义* 软件过程要点*
III-已定义级
软件配置管理 软件质量保证 软件子合同管理 软件项目追踪与监控* 软件项目规划* 2020/3需/3 求管理
• (2)类似的问题在别的项目组一定出现过,以后 的项目组一定也会遇到,必须在开发规范上堵 住这个漏洞,让别的项目不会重蹈覆辙。
•
所谓的“管理无大事”,过程管理的真谛
就在于这些看似细节的小事。基本的过程管理
原则和规范只是“骨架”,而“血肉”是要靠
这些看似细枝末节的小事来丰满的。积沙成塔
,集腋成裘,点滴持续地改进,其效果最终是
2020/3/3
ISO 软件质量标准结构
ISO9000系列标准的主体部分分为两组: “需方对供方要求质量保证”的标准ISO9001-9003 “供方建立质量保证体系”的标准ISO9004
✓ ISO9001:设计/开发、生产、安装和服务中质量保证模式; ✓ ISO9002:生产和安装中的质量保证模式; ✓ ISO9003:最终检验和测试中的质量保证模式; ✓ ISO9004:质量管理和质量体系要素导则。
2020/3/3
CMM思想和结构体系
CMM即软件能力成熟度模型(Capability Maturity Model)是
向软件组织提供如何增加对其开发和维护软件过程的控制能力。设 计并实施CMM是为了指导软件组织:
通过确定当前过程的成熟度等级和识别出对 软件质量和过程改进至关重要的问题,来选 择其过程改进策略。 通过关注一组有限的活动,并为实现它们而 积极工作,组织能稳步地改善其软件过程, 使其软件过程能力持续不断地增长。
巨大的。
案例分析
• H公司和Z公司都在研发相同类型的C产品。H公司在推广CMM,
采用了相对严格的过程规范,并且把相对重要的部分外包给了印 度的CMM5级公司。这些手段Z公司都没有采用,但是Z公司却抢 在了前面。
•
Z公司的“秘密武器”是一种形式化语言—SDL,Z公司采用
SDL作为设计工具,这样C产品的相当一部分代码可以由SDL工
2020/3/3
第四章 软件测试依据和规范
4.1 测试过程模型 4.2 测试过程改进模型 4.3 软件测试标准和规范 4.4 软件测试管理和评判体系
2020/3/3
引论
•标准和规范是成熟工业的标志 • 软件行业也在不断朝此方向努力
2020/3/3
4.1 测试过程模型
•V模型 • W模型
2020/3/3
TC176即ISO中第176个技术委员会,成立于1980年, 全称是“质量保证技术委员会”,1987年又更名为“质 量管理和质量保证技术委员会”。TC176专门负责制定 质量管理和质量保证技术的标准
2020/3/3
ISO 软件质量标准思想
控制思想,即对产品形成的全过程进行控制。任何事 物都是由一个或多个过程活动的结果,只要对产品形成 的全过程进行控制并达到过程质量要求,最终产品的质 量就有了保证 预防的思想。通过对产品形成的全过程进行控制以及 建立并有效运行自我完善机制达到预防不合格,从根本 上减少或消除不合格品
做得更加细致,但是并不能够保证你的开发过程是高效的。某些
沉迷于CMM的组织机构忘记了先进的软件工程技术的重要性。
2020/3/3
软件测试规范
软件测试规范就是对软件测试流 程过程化并对每一个过程元素进 行明确的界定,形成完整的规范 体系。
2020/3/3
软件测试标准
• 国际标准
– ISO-9000-3、ISO/IEC 14598
outcomes
Time / $ / ...
4
Target
Based on quantitative understanding of process and product, performance
continues to improve
Time / $ / ...
3
Target
With well-defined processes,
2020/3/3
ISO9000-3 是什么
ISO9000-3其实是ISO质量管理和质量保证标准在软 件开发、供应和维护中的使用指南,并不作为质量体 系注册/认证时的评估准则,主要考虑软件行业的特殊 性制定。参照ISO9001《质量体系 设计、开发、生产、 安装和服务的质量保证模式》,并引用ISO 8402《质 量管理和质量保证术语》,使得ISO9000系列标准应 用范围得以拓展
• 国家标准
– GB国标,GB/T 15532-2008
• 行业标准
– IEEE
• 企业规范 • 项目规范
2020/3/3
完整的软件测试规范是怎样的
规范本身的详细说明,比如规范目的、范围、文档结构、 词汇表、参考信息、可追溯性、方针、过程/规范、指 南、模板、检查表、培训、工具、参考资料等等。
2020/3/3
2020/3/3
ISO9000是什么?
• ISO 9000 的由来 • ISO 9000 总体思想 • ISO 9000体系结构
2020/3/3
ISO 软件质量标准
ISO (International Standardization Organization, 国际标准化组织) TC/176技术委员会制定的所有国际 标准 质量保证标准(ISO9001/2/3) 质量管理标准(ISO9004)
2020/3/3
ISO9000-3标准
• 软件开发、供应、维护中应用ISO9001 的指南
• 是指南,不是标准 • 依然困惑:依然强调的是供应商和顾客
的关系,不是工程师该如何做
2020/3/3
ISO 9000-3 体系结构
•合同评审 •需方需求规格说明 •开发计划 •质量计划 •设计和实现 •测试和确认 •验收 •复制、交付和安装 •维护
II-可重复级
ISO9000与CMM的关系
• ISO9000相当于CMM二级和三级的一部 分内容(有人称为2.5级)
• CMM和ISO9000认证本身没有优劣之分 • CMM是一个动态的过程 • 对于预算、项目周期管理等ISO9000涉
及不够的内容,CMM有所覆盖
2020/3/3
ISO9000与CMM的区别
关注软件的开发过程。
2020/3/3
• H公司的B项目是一个庞大的项目组,技术相当复杂 。名词术语很多,而且对于同一件事物的表达方式 也不尽相同。项目组非常有必要制定一个规范的术 语表,既统一了说法,也方便项目组的新人查阅。 但是事情的发展是很有戏剧性的。
•
项目组在起初并没有重视术语表的编制,因为
Time / $ / ...
Target is the initial estimated objective for a critical project parameter (e.g., cost, delivery date, defect counts)
19
关键过程域(Key Areas)
具自动生成,而且在设计阶段就可以进行仿真运行,这样就大大
地提高了效率并减少了缺陷。H公司虽然采用了相对严格的过程
规范,但是因为全部代码为手工编制,所以,无论是效率还是质
量, H公司都落后了。
•
H公司显然忽视了先进技术可能为生产率带来的进步,通过
了CMM高级别的评估,只能说明被评估的组织机构在过程控制上
设定战 略和优 先级
定义过程 和度量
行动
Acting
计划及执 行试行方 案
计划,执 行和跟踪 改进方案
建立过程 行动组
做行动计 划
建立
Establishing
CMM的五个等级
Standard, consistent process
Continuously improving process
Predictable process
Disciplined Process
Repeatable (2)
Initial (1)
Process is informal and unpredictable
Project Mgmt system in place, performance repeatable
Adapted from SEI-93-TR-24 2020/3/3
W模型
需求分析
需求测试
系统安装
验收测试
概要设计
概要设计 测试
系统构建
系统测试
2020/3/3
详细设计
码实现
单元测试
W模型
测试过程和开发过程贯穿了软件过程的整个生命 周期,它们是相辅相成的关系,有以下几个关键点:
测试过程和开发过程是同时开始,同时结束,两者保 持同步关系。 测试过程是对开发过程中的阶段性结果和产品进行严 重的过程,两者相互依赖。前期,测试过程依赖于开发 过程,后期,开发过程更多地依赖于测试过程。 测试过程和开发过程的工作重点可能不一样,两者有 各自的特点,不论在资源和风险管理中,两者都存在差 异。
制定测试规范需要考虑的内容
• 角色的确定 • 进入的准则 • 输入项 • 活动过程 • 输出项 • 验证与确认 • 退出的准则 • 度量