第一级 初始级
TMM初始级软件测试过程的特点是测试过程无序,有时甚至是混乱的,几乎没有妥善定义的。初始级中软件的测试与调试常常被混为一谈,软件开发过程中缺乏测试资源,工具以及训练有素的测试人员。初始级的软件测试过程没有定义成熟度目标。
第二级 定义级
TMM的定义级中,测试己具备基本的测试技术和方法,软件的测试与调试己经明确地被区分开。这时,测试被定义为软件生命周期中的一个阶段,它紧随在编码阶段之后。但在定义级中,测试计划往往在编码之后才得以制订,这显然有背于软件工程的要求。
第三级 集成级
在集成级,测试不仅仅是跟随在编码阶段之后的一个阶段,它已被扩展成与软件生命周期融为一体的一组已定义的活动。测试活动遵循软件生命周期的V字模型。测试人员在需求分析阶段便开始着手制订测试计划,并根据用户或客户需求建立测试目标,同时设计测试用例并 制订测试通过准则。在集成级上,应成立软件测试组织,提供测试技术培训,关键的测试活动应有相应的测试工具予以支持。在该测试成熟度等级上,没有正式的评 审程序,没有建立质量过程和产品属性的测试度量。集成级要实现4个成熟度目标,它们分别是:建立软件测试组织,制订技术培训计划,软件全寿命周期测试,控 制和监视测试过程。
(I)建立软件测试组织
软件测试的过程及质量对软件产品质量有直接影响。由于测试往往是在时间 紧,压力大的情况下所完成的一系列复杂的活动,因此应由训练有素的专业人员组成测试组。测试组要完成与测试有关的多种活动,包括负责制订测试计划,实施测 试执行,记录测试结果,制订与测试有关的标准和测试度量,建立测试数据库,测试重用,测试跟踪以及测试评价等。建立软件测试组织要实现4个子目标:
1)建立全组织范围内的测试组,并得到上级管理层的领导和各方面的支持,包括经费支持。
2)定义测试组的作用和职责。
3)由训练有素的人员组成测试组。
4)建立与用户或客户的联系,收集他们对测试的需求和建议。
(II)制订技术培训计划
为高效率地完成好测试工作,测试人员必须经过适当的培训。制订技术培训规划有3个子目标:
1)制订组织的培训计划,并在管理上提供包括经费在内的支持。
2)制订培训目标和具体的培训计划。
3)成立培训组,配备相应的工具,设备和教材
(III)软件全生命周期测试
提高测试成熟度和改善软件产品质量都要求将测试工作与软件生命周期中的各个阶段联系起来。该目标有4个子目标:
1)将测试阶段划分为子阶段,并与软件生命周期的各阶段相联系。
2)基于已定义的测试子阶段,采用软件生命周期V字模型。
3)制订与渊试相关的工作产品的标准。
4)建立测试人员与开发人员共同工作的机制。这种机制有利于促进将测试活动集成于软件生命周期中
(IV)控制和监视测试过程
为控制和监视测试过程,软件组织需采取相应措施,如:制订测试产品的标准,制订与测试相关的偶发事件的处理预案,确定测试里程碑,确定评估测试效率的度量,建立测试日志等。控制和监视测试过程有3个子目标:
1)制订控制和监视测试过程的机制和政策。
2)定义,记录并分配一组与测试过程相关的基本测量。
3)开发,记录并文档化一组纠偏措施和偶发事件处理预案,以备实际测试严重偏离计划时使用。
在TMM的定义级,测试过程中引入计划能力,在TMM的集成级,测试过程引入控制和监视活动。两者均为测试过程提供了可见性,为测试过程持续进行提供保证。
第四级 管理和测量级
在管理和测量级,测试活动除测试被测程序外,还包括软件生命周期中各个阶段的评审,审查和追查,使测试活动涵盖了软件验证和软件确认活动。根据 管理和测量级的要求,软件工作产品以及与测试相关的工作产品,如测试计划,测试设计和测试步骤都要经过评审。因为测试是一个可以量化并度量的过程。为了测 量测试过程,测试人员应建立测试数据库。收集和记录各软件工程项目中使用的测试用例,记录缺陷并按缺陷的严重程度划分等级。此外,所建立的测试规程应能够 支持软件组终对测试过程的控制和测量。管理和测量级有3个要实现的成熟度目标:建立组织范围内的评审程序,建立测试过程的测量程序和软件质量评价。
(I)建立组织范围内的评审程序
软件组织应在软件生命周期的各阶段实施评审,以便尽早有效地识别,分类和消除软件中的缺陷。建立评审程序有4个子目标:
1)管理层要制订评审政策支持评审过程。
2)测试组和软件质量保证组要确定并文档化整个软件生命周期中的评审目标,评审计划,评审步骤以及评审记录机制。
3)评审项由上层组织指定。通过培训参加评审的人员,使他们理解和遵循相牢的评审政策,评审步骤。
(II)建立测试过程的测量程序
测试过程的侧量程序是评价测试过程质量,改进测试过程的基础,对监视和控制测试过程至关重要。测量包括测试进展,测试费用,软件错误和缺陷数据以及产品渊量等。建立渊试测量程序有3个子目标:
1)定义组织范围内的测试过程测量政策和目标。
2)制订测试过程测量计划。测量计划中应给出收集,分析和应用测量数据的方法。
3)应用测量结果制订测试过程改进计划。
(III)软件质量评价
软件质量评价内容包括定义可测量的软件质量属性,定义评价软件工作产品的质量目标等项工作。软件质量评价有2个子目标:
1)管理层,测试组和软件质量保证组要制订与质量有关的政策,质量目标和软件产品质量属性。
2)测试过程应是结构化,己测量和己评价的,以保证达到质量目标。
第五级 优化,预防缺陷和质量控制级
由于本级的测试过程是可重复,已定义,已管理和己测量的,因此软件组织能够优化调整和持续改进测试过程。测试过程的管理为持续改进产品质量和过程质量提供指导,并提供必要的基础设施。优化,预防缺陷和质量控制级有3个要实现的成熟度目标:
(I)应用过程数据预防缺陷。这时的软件组织能够记录软件缺陷,分析缺陷模式,识别错误根源,制订防止缺陷再次发生的计划,提供跟踪这种括动的办法,并将这些活动贯穿于全组织的各个项目中。应用过程数据预防缺陷有礴个成熟度子目标:
1)成立缺陷预防组。
2)识别和记录在软件生命周期各阶段引入的软件缺陷和消除的缺陷。
3)建立缺陷原因分析机制,确定缺陷原因。
4)管理,开发和测试人员互相配合制订缺陷预防计划,防止已识别的缺陷再次发生。缺陷预防计划要具有可跟踪性。
(II)质量控制在本级,软件组织通过采用统计采样技术,测量组织的自信度,测量用户对组织的信赖度以及设定软件可靠性目标来推进测试过程。为 了加强软件质量控制,测试组和质量保证组要有负责质量的人员参加,他们应掌握能减少软件缺陷和改进软件质量的技术和工具。支持统计质量控制的子目标有:
1)软件测试组和软件质量保证组建立软件产品的质量目标,如:产品的缺陷密度,组织的自信度以及可信赖度等。
2)测试管理者要将这些质量目标纳入测试计划中。
3)培训测试组学习和使用统计学方法。
4)收集用户需求以建立使用模型
(III)优化测试过程在测试成熟度的最高级,己能够量化测试过程。这样就可以依据量化结果来调整测试过程,不断提高测试过程能力,并且软件组织具有支持这种能力持续增长的基础设施。基础设施包括政策,标准,培训,设备,工具以及组织结构等。优化测试过程包含:
1)识别需要改进的测试括动
2)实施改进。
3)跟踪改进进程。
4)不断评估所采用的与测试相关的新工具和新方法。
5)支持技术更新。
(IV)测试过程优化所需子成熟度目标包括:
1)建立测试过程改进组,监视测试过程并识别其需要改进的部分。
2)建立适当的机制以评估改进测试过程能力和测试成熟度的新工具和新技术。
3)持续评估测试过程的有效性,确定测试终止准则。终止测试的准则要与质盘目标相联系。
====================================分割线================================
最新内容请见作者的GitHub页:http://qaseven.github.io/