测试成熟度模型集成Test Maturity Model Integration(TMMI)目录1 测试成熟度模型集成(TMMI) (4)1.1 介绍 (4)1.2 背景和历史 (4)1.3 起源 (5)1.4 TMMI的领域 (6)1.4.1 软件和系统工程 (6)1.4.2 测试级别 (6)1.4.3 TMMI和CMMI (6)1.4.4 评定 (6)1.4.5 改善的方法 (7)2 TMMI成熟度水平 (7)2.1 概述 (7)2.2 级别1 初始的 (8)2.3 级别2 可管理的 (9)2.4 级别3 可定义的 (9)2.5 级别4 可测量的 (10)2.6 级别5 可优化的 (11)3 TMMI的结构 (12)3.1 必需的,可预料的和提供信息的组件 (12)3.1.1 必需的组件 (12)3.1.2 期望的组件 (12)3.1.3 信息组件 (13)3.2 TMMI的组件 (13)3.2.1 成熟度级别 (13)3.2.2 过程域 (13)3.2.3 目标 (14)3.2.4 介绍性说明 (14)3.2.5 范围 (14)3.2.6 特定目标 (14)3.2.7 通用目标 (14)3.2.8 特定的实践 (14)3.2.9 典型工作产品 (15)3.2.10 子实践 (15)3.2.11 通用实践 (15)3.2.12 通用实践细节 (15)3.2.13 支持性信息组件 (15)3.3 通用目标和通用实践 (16)3.3.1 GG 2 制度化可管理过程 (17)3.3.2 GG 3 制度化已定义的过程 (19)3.4 对通用实践过程域的支持 (20)3.4.1 GP2.2计划过程 (20)3.4.2 GP2.5培训人员 (20)3.4.3 G2.6管理配置 (20)3.4.4 G2.7确定并涉及利益相关者 (21)3.4.5 GP2.8监控过程 (21)3.4.6 GP2.9坚持客观评价 (21)3.5 CMMI过程域对TMMI的支持 (21)4 TMMI过程域进阶 (23)4.1 2级TMMI过程域 (23)4.1.1 PA2.1 测试政策和策略 (24)4.1.2 PA2.2 测试计划 (30)5 TMMI通用目标和通用实践进阶 (41)5.1 GG2 制度化一个管理过程 (41)5.1.1 GP2.1 建立组织政策 (41)5.1.2 GP2.2 计划过程 (41)5.1.3 GP2.3 提供资源 (41)5.1.4 GP2.4 分配职责 (42)5.1.5 GP2.5 培训人员 (42)5.1.6 GP2.6 配置管理 (43)5.1.7 GP2.7 明确并使相关人员参与 (43)5.1.8 GP2.8 监控过程 (43)5.1.9 GP2.9 坚持客观评价 (44)5.1.10 GP2.10 与高级管理层的评审状况 (44)5.2 GG3 制度化已定义的过程 (44)5.2.1 GP3.1 建立一个已定义的过程 (44)5.2.2 GP3.2 收集改进信息 (44)1 测试成熟度模型集成(TMMI)1.1 介绍在过去的10年间,软件产业界花费了大量的努力用以提高它的产品质量,这无疑是个艰巨的工作,因为软件的体积和复杂度正在随着客户和最终用户越来越多的需求而飞速的增长。
尽管采用了多种质量提高手段,软件产业仍然远离零缺陷。
为了提高产品质量,软件产业界把重点放在了提高开发过程上,使得能力成熟度模型(CMM)被广泛使用。
能力成熟度模型(CMM)和它的接替者,能力成熟度模型集成(CMMI)常常被作为软件开发过程的工业标准。
尽管事实上测试至少要占到整个项目花费的30%-40%,但是在各种软件过程改进模型如CMM和CMMI,测试仍然被很少提及,为此测试社区创建了互补的改进模型来响应这个问题,本文就描述了这种模型,测试成熟度模型集成(TMMI)。
TMMI是测试过程改进的详细模型并且可以实现和CMMI的互补。
1.2 背景和历史TMMI框架由TMMI协会开发并作为准则框架用以对测试过程进行改进。
TMMI 也作为CMMI1.2版本的互补模型来帮助测试经理,测试工程师和软件质量专家定位某些问题的重要性。
像CMMI的使用阶段一样,TMMI也使用成熟度水平概念来做过程评估和改进,此外还定义了过程域,目标和活动。
TMMI成熟度标准的应用将改善测试过程,并对产品质量,测试工程的生产力,以及测试周期有着积极的影响。
目前TMMI已经被开发成为可以支持组织评估和测试过程改进。
通过TMMI,可以使得软件测试从一个无序混乱,缺乏资源、工具和训练有素的测试人员的弱定义过程演变成为以成熟的,可控的,并且有缺陷预防能力为主要目标的,具有完善定义的过程。
实际的经验证明TMMI建立了一个更加高效的测试过程。
测试成为了软件项目中的一个独立实施的阶段,并且被融入到开发过程中。
软件测试德重点开始由缺陷检测转移到缺陷预防上来。
1.3 起源TMMI的发展是以美国伊利诺伊理工学院开发的TMM框架为主要来源。
除了TMM,它也借鉴了能力成熟度模型集成(CMMI),而后者是一种IT业界有着广泛应用的过程改进模型。
CMMI既是分阶段的也是持续的。
所谓分阶段,即为CMMI 架构规定了评估过程各个阶段,评估组织必须顺序的执行它的各个阶段,以提高改进过程。
所谓持续,即为CMMI没有规定通过评估的级别,一个组织选择不同的级别去做改进。
TMMI被开发成一个阶段模型,它使用预定义的多套过程域定义组织的改进过程。
这种发展过程被描绘成一种模型成分,称为成熟度级别。
成熟度级别又被定义成进化水平,以完成测试组织的改良过程。
在后来的一个阶段TMMI的持续性才变得可用。
它不会影响TMMI的内容,它仅仅提供了不用的结构和表述。
促进TMMI发展的其它来源还包括Gelperin和Hetzel的测试模型的演化,它描述了过去40年间的测试过程的演化; 还有Beizer的测试模型,它描述了单个测试人员的想法的演化;有EUfunded MB-TMM项目中对TMM的研究;还有国际测试组织,如IEEE829标准中的软件测试文档[IEEE829]。
在TMMI使用的测试术语来自ISTQB组织软件测试方面的标准条款术语。
●TMMI是TMMI组织的注册商标●CMM和CMMI是Carnegie Mellon大学的注册商标●TMM是Illionis理工学院的注册服务标记至于确定成熟度等级描述,Gelperin和Hetzel的进化测试模型担任一个历史级的TMMI区别的基础。
,Gelperin和Hetzel模型描述了1950年代到1990年代的阶段和测试目标。
初始的时期被描述成面向调试的,在这个时期大多数的软件开发组织不清楚测试和调试的区别。
测试是个模糊的活动,它跟调试一起是用来从程序中去除错误的。
根据Gelperin和Hetzel的理论,测试已经进入面向预防时期,联系到最好的练习以及反映了TMMI最成熟的水平。
而且,各种各样的工业界使用TMM的最佳练习和实践经验为TMMI的发展提供了必要的实验基础和实用性水平。
他们阐明了当前在IT工业界最好和最差的测试实践,它也允许TMMI 框架的开发者提取实际的基准以评估和改善测试实践。
1.4 TMMI的领域1.4.1 软件和系统工程TMMI打算在系统工程和软件工程学科方面支持测试活动和测试过程的改善。
系统工程涵盖了整个系统的发展,它可以包括也可能不包括软件。
软件工程涵盖了软件系统的发展。
1.4.2 测试级别其他模型在测试过程改良方面主要致力于高级别的测试,如TPI或者仅仅定位结构测试的某一个方面,如测试机构。
TMMI定位多个测试水平,包括静态测试和结构测试的各个方面。
至于动态测试,低级测试和高级测试都是TMMI的目标。
研究TMMI细节越多,有一个问题就必须了解,这种模型定位了结构测试的4项基石:生命周期,技能,基础结构和组织。
1.4.3 TMMI和CMMI需要注意的是TMMI的定位是作为CMMI的互补模型。
在很多情况下一个给定的TMMI级别需要它相关的CMMI级别或比它低的CMMI级别的过程域的特定支持。
有些情况下甚至跟高级别CMMI有关联。
在CMMI中被详尽说明的过程域和实践没有在TMMI中被重复,他们仅仅作为参考。
举例来说,过程域配置管理,它当然是适合测试产品的,但是没有在TMMI中详细说明;CMMI中的实践被引用和含蓄的重用。
1.4.4 评定许多组织发现了标准为内部的和标准为外部客户以及供应商的在测试过程改进中的价值。
测试过程中的评估重点是确定改进的机会和了解该组织的立场相对于选定的模式或标准。
TMMI为进行这种评估提供了一个很好的参考模型。
评估小组使用TMMI指导自己的鉴定和调查结果的优先次序。
用TMMI可以指导的这些研究结果被用来为组织改进做计划。
评估框架本身不是TMMI的一部分,TMMI 评估需求被描述成一个单独的文件,你可以在找到。
这些需求是基于ISO 15504标准的。
一个特定的成熟度级别对不同的评估机构来说是一样的。
确保这种一致性的规则包含在TMMI评估方法的要求中,该TMMI 评估方法的要求包含了各种类别的评估,例如,准则正式的评估,快速扫描和自我评估。
1.4.5 改善的方法TMMI提供了完整的框架作为测试过程改进的参考模型。
但它并不提供测试过程改进的方法,例如IDEAL。
实际经验表明测试过程改进最强有力的初始化步骤是在投资测试过程评估之前建立强有力的组织任务。
给予充分的任务过程管理,建立强有力的测试小组,它描述相关的人员可以指引过程提高的方向,被证明是有效的方法。
2 TMMI成熟度水平2.1 概述图1 TMMI成熟度级别TMMI是阶段架构的过程改进模型。
它包含的阶段或者级别是从一个无序的,不可管理的到可管理的,可定义的,可测量的和可优化的。
图1展示了TMMI的级别从低到高的级别管理和每个级别对应的过程域。
每个阶段要确保足够的改进,作为下一阶段的奠定基础。
该TMMI内部结构是丰富的,在测试中可以学习和有系统地支持一个质量检测的过程,在渐进的步骤改善应用实践。
TMMI有5个级别,它们遵守成熟度等级制度和演化路径来进行测试过程改进。
每个级别都有一套过程域指明组织需要致力在那个级别取得成熟度。
经验表明组织各尽其能一次他们专注于测试过程改进在可做到的过程域,那些域随着组织的改进需要增加混合。
因为每个成熟度级别为下一个级别构成必要的基础,尽量略过一个成熟度级别通常是无益的。
同时,你必须意识到测试过程改进的努力必须致力于组织在商业环境的需要,更高级别的成熟度水平上的过程域需定位在当前组织或项目的需要。
例如,当组织试图从成熟度级别1升到级别2的时候经常被鼓励成立一个测试小组,它是测试组织成熟度级别3过程域中必须有的。