吴洁
摘要:介绍了敏捷测试和TMMi(测试成熟度模型集成)的特点,并将敏捷测试的理念和TMMi测试过程的改进和优化相结合,提出了敏捷测试TMMi框架参考。重点讨论框架下各级成熟度过程域以及过程域实践的适用性。
关键词:敏捷;TMMi;过程域
中图分类号:TP311.53 文献标识码:A 文章编号:1007-9416(2018)05-0080-02
1 引言
在软件规模和软件复杂度的日益提升的今天,如何实现软件高质量的快速交付成为软件测试行业亟待解决的问题。随着敏捷开发理念的盛行,软件产品生命周期呈现出高度迭代并且需要持续响应客户频繁反馈的特点,相应的敏捷测试应用日趋广泛。敏捷组织希望通过改进测试过程实现测试能力的提升和产品质量的提高,同时也保留敏捷测试自身的优点。
2 敏捷测试与TMMi
2001年17位软件开发领域的领军人物经过讨论提出了一套全新的软件开发价值观,并通过一份简明扼要的《敏捷宣言》向世界传递了敏捷开发的理念。敏捷是一种思想贯穿于整个软件生命周期包括测试阶段。敏捷测试应能不断修正质量指标,正确建立测试策略,确认客户的有效需求能得以圆满实现和确保整个生产的过程安全的、及时的发布最终产品。在独立完成各项测试计划、测试执行工作的同时,敏捷测试人员需要参与几乎所有的团队讨论,团队决策。通常情况下敏捷测试人员比较关注单元测试、测试自动化以及探索性测试等。由于与敏捷测试相关的组织通常只从项目角度根据需求去改进,很少关注项目外或测试本身,这会导致一些测试基本问题不能完全解决。比如由于项目资源不足,性能问题和可靠性问题通常会被一再推迟版本解决甚至无限期推迟解决。这种囿于项目的思维也会导致测试过程改进不能达到最大程度的优化,缺乏全面性。
TMMi(测试成熟度模型集成)作为CMMI的补充模型,已成为全球范围内软件测试过程的改进标准。TMMi采用类似CMMI的阶段模型,设计了5个成熟度级别,分别是1级初始、2级已管理、3级已定义、4级已测量、5级优化,帮助组织的测试过程从一个无序混乱的状态逐步演变为可管理、可定义、可测量、可优化的状态[1]。除了1级外每个级别都有一组过程域。为了达到特定的成熟度级别,一个组织必须满足该成熟度级别及低成熟度级别的过程域的所有适用目标。实践表明,TMMi的框架开发者提取实际可行的基准来评估和改进测试,可以建立一个更有效和高效的测试过程。
3 敏捷测试TMMi框架研究
隨着敏捷团队不断成长,项目压力逐渐增大,为了改进和优化测试过程,提升测试能力,考虑引入TMMi保证关键的测试实践被施行。在敏捷测试环境下使用TMMi模型来改进测试过程并不是强制要求测试组织必须完成一系列测试实践,也不是为了证明测试组织的测试活动和标准的一致性。测试组织应开发敏捷测试TMMi框架,在参考传统模型的基础上,定义符合敏捷测试实际特点的过程域,进行评估和改进测试活动[3]。
3.1 敏捷测试TMMi框架分级结构
敏捷测试TMMi框架下的分级结构和传统的TMMi模型是基本一致的。每个过程域确定了一系列测试相关的活动,当过程域下的实践全部得以执行后,该过程域相关的活动将极大的改进。1级初始不包含任何过程域。2级和3级成熟度级别下的过程域需要具体分析,并非所有过程域的目标的实践都是适用的,这将在下面的章节详细分析。4级和5级成熟度级别中,已定义过程域的目标的实践对于敏捷测试来说都是适用的。
3.2 敏捷测试TMMi框架下的2级成熟度过程域分析
在敏捷环境下2级成熟度过程域的大部分实践都是适用的,但敏捷组织完成实践的方式是灵活多样的,比如测试计划采用思维导图而非传统的文档。还有部分实践不适用于敏捷测试,如表1所示。
在排除不适用的过程域实践后,敏捷测试TMMi框架下的2级成熟度过程域及实践如图1所示。
3.3 敏捷测试TMMi框架下的3级成熟度过程域分析
在TMMi3级中,测试应集成到软件开发生命周期中,而不再局限于编码之后的一个阶段,这与敏捷测试的思想有共通之处。测试组织、测试培训方案、测试生命周期与集成以及同行评审中的实践基本适用于敏捷测试。由于非功能测试对测试者的能力,领域知识,测试技术等要求较高,迫于项目压力,这往往是敏捷测试的薄弱环节。TMMi下非功能测试过程域实践包括:执行非功能产品风险评估,建立非功能测试途径,制定非功能测试分析与设计,执行非功能测试实施,执行非功能测试。与2级成熟度中的定义入口准则、中止和恢复准则相同,建立非功能测试途径下的定义非功能退出准则对敏捷测试来说是不适用的。图2展示了敏捷测试TMMi框架下3级成熟度过程域及实践。
4 结语
应用敏捷测试TMMi框架进行评估和改进敏捷测试过程还需要从组织层面考虑,与项目紧密结合,关注测试流程本身甚于测试文档,不局限于模型规定的实践也不囿于项目,最终达到过程改进的目标。
参考文献
[1]张靖,赵羽中,贲可荣.测试成熟度模型及其评估算法[J].舰船电子工程,2007,27(1):81-83.
[2]Burnste in,T.Suwanassart, C. R. Carlson, Developing A Testing Maturity Model[J]. Part II, CrossTalk, Journal of Defense Software Engineering,1996,9(9):19-26.
[3]郭小群,侯红,鱼滨.TMM在软件质量保证中的作用[J].西北大学学报,2004,34(1):19-22.
[4]吴峰,贲可荣.系统安全测试能力成熟度模型框架研究[J].计算机与数字工程,2011,2:128-132.