基于TMM的软件测试过程评估《转载》
上一篇 / 下一篇 2007-11-02 17:48:44 / 个人分类:TMM
摘要:为了提高软件测试的效率和软件测试的质量,软件人员不仅要研究软件测试的各种技术、方法和工具,还必须注重软件测试过程的管理和改进。在这种需求的牵引下,Illene Burnstein、C. Robert Carlson和Taratip Suwannasart在1996年质量周会议上提出用以评估测试过程的软件测试成熟度模型(TMM)[1]。本文在介绍TMM五级结构的基础上,讨论在各成熟度等级上的可用于评估软件测试过程的对象和方法。
#{)? ro(o;N8`IY0关键字:软件测试成熟度模型,测试过程,评估,度量51Testing软件测试网7q\kiV*` U
一、TMM简介
D~ ph:E6~e0软件测试成熟度模型(TMM)[1]是当前影响力最大的软件测试过程模型,具有如下优点[2]:
JqE;t tm0等级水平结构、关键活动和角色的定义最为精细
v+s;L9f4^GX0测试相关因素覆盖最全面
sEZ'} Q#jF:G0支持测试过程成熟度增长51Testing软件测试网`8jjS#Z4J
有定义良好的评估模型的支持
?9K9jx3K0W1J0作为一类等级递增模型,TMM体现了20世纪50年代到20世纪末的测试阶段划分和测试目标定义的发展历程。它来源于当前的工程实践总结,并充分利用了Beizer的测试人员思考模式的进化模型。它能够用于分析软件测试机构运作过程中最优秀或最混乱的区域,并辅助软件测试机构进行测试过程的评估与改进。51Testing软件测试网.k5t]!?:{ Oa!c
TMM制定了五个成熟度等级:初始级,阶段定义级,集成级,管理和度量级,优化、缺陷预防和质量控制级。各级成熟度水平包含了一组成熟度目标和子目标,以及支持它们的任务、职责和活动。
\wp0PZ01)第一级 初始级51Testing软件测试网7e KwXMwUk
TMM初始级软件测试过程的特点是测试过程无序,有时甚至是混乱的,几乎没有妥善的定义。初始级中软件的测试与调试常常被混为一谈,软件开发过程中缺乏测试资源,工具以及训练有素的测试人员。初始级的软件测试过程没有定义成熟度目标。
b@*i9}o/iV+OV02)第二级 阶段定义级
RiZ3`]e0TMM的阶段定义级中,测试活动是按照计划进行的,测试己具备基本的测试技术和方法(如白盒测试和黑盒测试),软件的测试与调试己经明确地被区分开。这时,测试被定义为软件生命周期中的一个阶段,它紧随在编码阶段之后。但在定义级中,测试计划往往在编码之后才得以制订,这显然有背于软件工程的要求。
RWIl c$_[ x0TMM的阶段定义级中需实现3个成熟度目标:制订测试与调试的目标和策略,启动测试计划过程,制度化基本的测试技术和方法。
!Ugq`:s03)第三级 集成级51Testing软件测试网4p&b2@g*u9L
在集成级,测试不仅仅是跟随在编码阶段之后的一个阶段,它已被扩展成与软件生命周期融为一体的、一组已定义的活动。测试活动遵循软件生命周期的V字模型。测试人员在需求分析阶段便开始着手制订测试计划,并根据用户或客户需求建立测试目标,同时设计测试用例并制订测试通过准则。在集成级上,应成立软件测试机构,提供测试技术培训,关键的测试活动应有相应的测试工具予以支持。在该测试成熟度等级上,没有正式的评审程序,没有建立质量过程和产品属性的测试度量。集成级要实现4个成熟度目标,它们分别是:建立软件测试机构,制订技术培训计划,软件全寿命周期测试,控制和监督测试过程。51Testing软件测试网6Cj3N]Yb:OD&oB
在TMM的定义级,测试过程中引入计划能力。在TMM的集成级,测试过程引入控制和监督活动。两者均为测试过程提供了可见性,为测试过程持续进行提供保证。51Testing软件测试网`'\}:s-r1Q
4)第四级 管理和度量级51Testing软件测试网 J&HA9[;K
在管理和度量级,测试活动除测试被测程序外,还包括软件生命周期中各个阶段的评审,审查和追查,使测试活动涵盖了软件验证和软件确认活动。根据管理和度量级的要求,软件工作产品以及与测试相关的工作产品,如测试计划,测试设计和测试步骤都要经过评审。因为测试是一个可以量化并度量的过程。为了度量测试过程,测试人员应建立测试数据库,收集和记录各软件工程项目中使用的测试用例,记录缺陷并按缺陷的严重程度划分等级。此外,所建立的测试规程应能够支持软件组织最终对测试过程的控制和度量。管理和度量级有3个要实现的成熟度目标:建立组织范围内的评审程序,建立测试过程的度量程序和软件质量评价。51Testing软件测试网Y-Lc?j LS^
5)第五级 优化、预防缺陷和质量控制级51Testing软件测试网/A'jk_`2n~` w1n-b Q
由于本级的测试过程是可重复的、已定义的、已管理的和己度量的,因此软件组织能够优化调整和持续改进测试过程。测试过程的管理为持续改进产品质量和过程质量提供指导,并提供必要的基础设施。优化、预防缺陷和质量控制级有3个要实现的成熟度目标:应用过程数据预防缺陷,质量控制,测试过程优化。51Testing软件测试网4c v9z:~5C3i5C9r H
二、基于TMM的测试过程评估51Testing软件测试网P6lU0^+N5kJ
虽然TMM在管理和度量级才明确提出了正式的度量以及评估计划,但定义度量对象与度量方法的工作则可以在四级以下进行,因为度量本身就是支持更高成熟度目标的实现以及当前能进行的最佳测试活动的实施[3]。软件测试机构可从低级、粗略的度量做起,随着成熟度等级的提高,度量逐步深入和细化。与成熟度的等级关系相似,高等级的度量包含了低等级的度量。51Testing软件测试网v1v*bm8jMUdg
下面讨论在各成熟度等级上,可应用于软件测试机构的度量对象和度量方法。
.[O*c%co)X,B"Wx01)初始级度量
QD+C8B g:_^#P0初始级没有成熟度目标,但从这一级开始收集测试度量信息仍然是有必要的,如此测试机构才能建立相应的项目信息数据库,推动测试机构实现更高等级的测试过程成熟度。初始级实施度量的主要目的是建立基线过程,并为测试机构实现第二级的成熟度目标做好准备。
G5yv0P&V0处于TMM初始级的软件测试机构可度量以下信息:51Testing软件测试网*Q.sV;I5]rS#n$np
a)规模度量
+A.j)X#r_2W0R0规模对于测试项目,测试计划,成本/工作量预测,风险评估,效率度量而言,是一项非常重要的度量因素,它包括:
R3?vT8pNcb!d0软件产品规模
.T!A0ez[ [8s(B8Ey0测试对象数量51Testing软件测试网\+T8| ^j~
测试用例编写数量
A!SJ.Gg?a*h0测试用例执行数量51Testing软件测试网fb"W6z&NOd
b)缺陷度量51Testing软件测试网V"`M*R,gg Q0G%Sd$a
软件异常数量
%S"D#NW7?M1V!b/[u0缺陷率51Testing软件测试网%Q8a1}7t z
测试机构在此级开始收集缺陷信息的目的是:在实际测试中对发现的各类问题有着文档化的记录。缺陷信息有助于评价软件质量,支持软件开发和测试过程的改进,同时对软件缺陷数据库的建立提供了基础。51Testing软件测试网ec7m `7oxC
c)成本/工作量
-DU.s~5G9Z0L Ds0测试项目总体成本
i(b,U#UQ0测试执行小时数51Testing软件测试网3E.^,A t Eo'S
测试工作量成本