结构化测试体系——TMap测试生命周期

发表于:2013-07-10来源:ITPUB作者:不详点击数: 标签:结构化测试体系
商业环境中,加快开发周期以及提高软件质量变得越来越重要,而且低质量软件带来的风险也越大。测试是软件开发组织中最重要的用于控制这些风险的手段。然而,尽管很多事业部都已经组建了测试团队,依然经常会由于缺陷数量不能呈收敛状态而陷入时间和成本无法控

  商业环境中,加快开发周期以及提高软件质量变得越来越重要,而且低质量软件带来的风险也越大。测试是软件开发组织中最重要的用于控制这些风险的手段。然而,尽管很多事业部都已经组建了测试团队,依然经常会由于缺陷数量不能呈收敛状态而陷入时间和成本无法控制的困境。以下列出的问题只是实际项目中遇到的问题的一小部分:

  ● 即使只有测试执行占据项目的关键路径,但是测试执行阶段依旧耗时比较长,测试对象质量不符合要求。

  ● 各事业部存在形式上的测试规程,但是对于每项测试活动如何做,达到什么样的水平却没有明确的指导。

  ● 即使为测试计划和测试设计预留了充分的时间,释放后仍出现大量缺陷。

  ● 对测试对象的质量不能做到深入认识

  以提高测试质量和效率为目的,我们今年针对2个试点事业部进行了测试体系能力评估。在评估中我们发现,除了外部因素和个人能力以外,测试内部很多管理因素如:测试策划、测试策略制定、测试过程管理、测试方法体系等方面都存在一些问题。

  测试的最终目的在于控制风险。当对软件产品进行测试时,要问我们承担了哪些风险,以及为了降低这些风险需要采取哪些措施。如果不希望在实际操作时才知道这些问题的答案,那么我们需要一个良好可靠的测试过程。也就是说,我们需要一个结构化的测试方法、组织和基础设施,以一种可控制的方式,使我们能够对软件系统的状态和相关的风险有持续的认识。根据这些认识,组织才可以做出更好的决定以及有效控制风险。

  由此,我们介绍Sogeti开发的TMap测试生命周期模型来帮助事业建立一套完整规范的测试方法体系,从而更快地发布复杂而高质量的软件。

  测试执行只是测试工作的一小部分

  目前测试组织的一个普遍状态是忽略了测试计划和测试设计的重要性。测试不仅仅是在电脑屏幕前执行测试用例。真正进行测试执行之前,过程早期阶段的计划和准备活动都是必须的,这才会使得项目关键路径上的测试过程尽可能的短。我们看一个冰山的例子(图表1),通常我们能够看见的仅仅是冰山的一角,冰山中更大的部分则隐藏在海面以下。测试工作与冰山类似,通常测试工作中明显可见的测试执行活动仅仅是露在海面以上的部分,平均来说只占测试活动的40%。而其他冰山以下的部分——计划和准备工作——平均分别占用测试工作的20%和40%。

  然而大多数测试组织并没有意识到这样的问题。事实上,测试的计划和准备活动不但能够节省测试工作的整体时间支出,更重要的是能够为测试执行做好充分的准备工作,从而使测试执行的部分尽少占据开发项目的关键路径。在有技术(测试自动化)支持的情况下,相对于测试策划和准备活动,测试执行的时间则能够更加缩短。TMap测试生命周期正是基于这样的思想建立起来的。

  TMap 测试生命周期介绍

  TMap生命周期模型是一个通用模型。它能够适用于所有类型的测试,并且能够与开发生命周期模型同时使用。该生命周期模型将测试活动分成了7个阶段(图表2):计划、控制、安装和维护基础设施、准备、设计、执行和结束。其中每一阶段又进一步划分成一些具体的活动。当然,只有在对质量要求非常高的情况下,才需要执行所有的活动。通常情况下,针对不同的测试级别可以对测试活动进行适当剪裁。

  在计划(Planning)阶段,测试主管制定一个能够充分完成测试任务的方法,并得到客户认可,也要将计划的方法记在测试计划中。在控制(Control)阶段,执行和监控测试计划中规定的活动,并对其进行必要的调整。建立和维护基础设施(Setting up and maintaining infrastructure)阶段着眼于提供TMap中不同阶段和活动需要用到的测试基础设施。准备(Preparation)阶段的目的是获取测试依据,与客户就条件和用例设计的质量达成一致。 测试用例或测试脚本要在测试设计(Specification)阶段完成,并且在测试执行(Execution)阶段被执行。测试执行的结果为对象的质量提供了深入了解。在测试结束(Completion)阶段,要对测试任务进行总结。这个提供了从项目实践中吸取经验教训的机会,此外这些活动的执行确保了产品复用。

  在以下的章节中,我们将简要介绍每个阶段的活动。附表中列出了不同测试阶段的所有测试活动。

原文转自:http://www.spasvo.com/news/html/2013624133455.html