博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

TMM - 软件测试成熟度模型

Posted on 2005-10-08 10:09  Jackei  阅读(3674)  评论(5编辑  收藏  举报

第一级  初始级

TMM初始级软件测试过程的特点是测试过程无序,有时甚至是混乱的,几乎没有妥善定义的。初始级中软件的测试与调试常常被混为一谈,软件开发过程中缺乏测试资源,工具以及训练有素的测试人员。初始级的软件测试过程没有定义成熟度目标。

第二级  定义级

TMM的定义级中,测试己具备基本的测试技术和方法,软件的测试与调试己经明确地被区分开。这时,测试被定义为软件生命周期中的一个阶段,它紧随在编码阶段之后。但在定义级中,测试计划往往在编码之后才得以制订,这显然有背于软件工程的要求。
       TMM
的定义级中需实现3个成熟度目标:制订测试与调试目标,启动测试计划过程,制度化基本的测试技术和方法。
       (I)
制订测试与调试目标
      
软件组织必须消晰地区分软件开发的测试过程与调试过程,识别各自的目标,任务和括动。正确区分这两个过程是提高软件组织测试能力的基础。与调试工作不同,测试工作是一种有计划的活动,可以进行管理和控制。这种管理和控制活动需要制订相应的策略和政策,以确定和协调这两个过程。
      
制订测试与调试目标包含5个子成熟度目标:
       1)
分别形成测试组织和调试组织,并有经费支持。
       2)
规划并记录测试目标。
       3)
规划井记录调试目标。
       4)
将测试和调试目标形成文档,并分发至项目涉及的所有管理人员和开发人员。
       5)
将测试目标反映在测试计划中。
       (II)
启动测试计划过程
      
制订计划是使一个过程可重复,可定义和可管理的基础。测试计划应包括测试目的,风险分析,测试策略以及测试设计规格说明和测试用例。此外,测试计划还应说明如何分配测试资源,如何划分单元测试,集成测试,系统测试和验收测试的任务。启动测试计划过程包含5个子目标:
       1)
建立组织内的测试计划组织并予以经费支持。
       2)
建立组织内的测试计划政策框架并予以管理上的支持。
       3)
开发测试计划模板井分发至项目的管理者和开发者。
       4)
建立一种机制,使用户需求成为测试计划的依据之一。
       5)
评价,推荐和获得基本的计划工具并从管理上支持工具的使用。
       (III)
制度化基本的测试技术和方法
      
为改进测试过程能力,组织中需应用基本的测试技术和方法,并说明何时和怎样使用这些技术,方法和支持工具。将基本测试技术和方法制度化有2个子目标:
       1)
在组织范围内成立测试技术组,研究,评价和推荐基本的测试技术和测试方法,推荐支持这些技术与方法的基本工具。
       2)
制订管理方针以保证在全组织范围内一致使用所推荐的技术和方法。

第三级  集成级

在集成级,测试不仅仅是跟随在编码阶段之后的一个阶段,它已被扩展成与软件生命周期融为一体的一组已定义的活动。测试活动遵循软件生命周期的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)
持续评估测试过程的有效性,确定测试终止准则。终止测试的准则要与质盘目标相联系。