订阅软件研发RSS CSDN首页> 软件研发

[图书连载]Visual Studio 2010与测试应用程序生命周期(Lifecycle)(二)

发表于2011-01-20 14:28| 次阅读| 来源CSDN| 0 条评论| 作者陈秋歌

摘要:本文为电子工业出版社推出的《构筑敏捷的开发团队:微软Visual Studio 2010实战兵法》图书第八章连载之六。 结构化测试(Structured testing) 软件开发的速度问题一直困扰着软件企业的管理者,而

本文为电子工业出版社推出的《构筑敏捷的开发团队:微软Visual Studio 2010实战兵法》图书第八章连载之六。

结构化测试(Structured testing)

软件开发的速度问题一直困扰着软件企业的管理者,而软件质量问题是影响软件开发速度的一个重要因素。进行软件质量保障最常用的手段是进行测试,但测试恰恰通常就是软件开发过程中的速度瓶颈。通过结构化测试组织模型来提高测试的质量,其中心思想是实现结构化,并在此基础上应用自动化手段和进行可视化控制。

微软VS 2010中已经增加了这种结构化模型的应用与设计,这种设计提高了测试本身的效率并能为项目开发及时提供有效的参考数据从而实现快速开发的效果。其测试工具在不是结构化的测试过程中会使该测试工作变得更加容易。相反,自动化的非结构化测试就会变得混乱。软件测试的发展经验表明:测试不应该被局限在单一的阶段,大量的系统问题起源于软件开发的前期,越早进行测试越有效。在这些经验中风险驱动的软件结构化测试过程得以产生和发展。

一般来说,结构化测试方法具有以下特点:

● 提供结构化过程,以便测试人员(所需要的人)清楚地知道:何时?以什么顺序进行工作?

● 包含整个范围和相关方面的完整描述;

● 管理测试活动,对时间、金钱和质量进行分析;

● 测试产品(如测试用例)是可重用的;

● 在早期阶段发现缺陷(bug);

● 测试过程是可理解和管理的;

● 测试发展简短的关键路径,使得总的周期所需时间缩短;

● 对测试系统的质量方面的风险提供了分析和咨询建议。

一个组织需要选择其中的追求目标与在项目实施时的结构化测试过程:报告(Reported)→优先次序(Prioritized)→风险评估(Risk Metrics)→改进驱动(Improvement driven),如图1所示。

图1  实施时的结构化过程

结构化特点使得其简单易行,风险驱动的特点使得其高效而实用。软件测试工作的复杂性决定了软件测试的流程必须结构化且被清楚地定义。通过风险分析及早期的测试设计活动,查找需求和设计中的缺陷,预防大量的缺陷遗留到代码中。这个过程指定了测试任务及任务的执行顺序和执行时间,使得测试活动有章可循。

在Visual Studio 2010中的TFS结构测试中,我们可以使用过程模板。目前Sogeti已经对VS 2010的“TMap”团队版本的过程模板(process template)提供了支持。

TMap结构化测试方法的内容可以归纳为四个要点:

①TMap是基于驱动的测试管理业务(BDTM)方法;

②TMap介绍了结构化的测试过程;

③TMap包含一个完整的工具框;

④TMap是一种具有适应性的测试方法。

Visual Studio 2010支持对所有不同的测试任务在TFS中的集成,从而可以进行指导过程(guide processes)和结构化软件测试方法(Sogeti),TMap是一个非常重要的应用程序生命周期。在VS 2010的IDE中,打开资源浏览器,在右键菜单中选择“Team New Project”命令安装Tmap for VS 2010模板,如图2所示。

不过,只有结构测试是不够的。开发人员更应该增强代码质量,而不能全部依赖结构化测试。因此,重要的是要达成什么样的质量水平来交付。在TMap中引入了基本素质的概念。这一基本素质不仅描述了必要的测试覆盖,而且还提供了测试方式和过程的一致性。Visual Studio 2010的结构化TMap过程可参考图上一节图5。

图2  安装Visual Studio 2010的结构化TMap过程模板

结构化测试使整个测试过程更有效率,使测试人员可以做他们的(基本质量)工作并减少风险。对“完成”的定义,可以设置成一个周期,这样不仅可以纠正错误,而且可以学习如何防止错误。TMap for VS 2010覆盖测试的范围如图3所示。

图3  TMap覆盖测试范围

Master test plan(主测试计划):总测试过程的管理。它分成两个阶段:

总测试过程规划阶段(Planning phase of the total test process)

测试规划阶段,一般是测试经理指定的任务。通常考虑到风险、时间、成本和客户端。

总测试过程控制阶段(Control phase of the total test process)

这个阶段的活动是测试过程的控制目标。它提供对产品的基础结构等方面的测试,目的是通过总测试过程能够对测试对象进行深入测试,从而可以有效地控制产品质量。通过测试规则和计划所规定的形式产生报告,反馈测试对象进度和检查过程中的质量。从测试工作开始,测试人员便进入该过程控制阶段,从而帮助提高产品的质量。通过VS 2010的TMap流程模板进行总测试过程控制的流程如图4所示。

图4  VS 2010中TMap总测试过程控制

测试计划(Test plan)

验收测试和系统测试被认为是自组织过程。它们有自己的测试计划和预算,而且往往使用自己的测试环境。TMap生命周期模型用于创建测试计划和在测试过程中执行其他活动。

生命周期模型(Life cycle model)是一个通用模型,它能够适用于所有的测试类型,并可以同时使用系统开发生命周期模型。在TMap生命周期模型中,测试活动贯穿七个阶段:

①Planning(计划)

②Preparation(准备)

③Specification(说明)

④Control(控制)

⑤Execution(执行)

⑥Completion(完成)

⑦Setting up and maintaining infrastructure(安装和维护基础结构)

我们可以使用TMap for VS 2010模板进行TMap生命周期测试活动,如图5所示。

每一个阶段都分割成若干活动。虽然它不是很复杂,但需要正确的环境设置,否则这些活动会造成时间的松散,质量差,从而使大多数项目缺乏良好的结构。VS 2010过程TMap模板提供了六步工作基础结构项目的具体指导。另外,在VS 2010的TMap活动中,还支持实验室管理(Lab Management)和测试管理(Test Manager)。

图5  TMap生命周期测试活动

在计划阶段,测试经理能够在客户端制订统一的方法,来充分执行测试任务(确定的测试计划)。在控制阶段可以进行测试计划的活动,执行、监控和进行必要的调整。在各TMap阶段和活动中,设立和维护基础结构阶段的目标是提供必要的测试基础结构。准备阶段的目标是在进入测试的基础上,保证在客户端中的测试质量,确定设计测试用例。测试任务结束在完成阶段。TMap测试生命周期模型如图6所示。

图6  TMap测试生命周期阶段

说明阶段涉及定义测试用例和构建基础设施。一旦测试目标确定,测试执行阶段就开始。在执行阶段,需要分析预计结果和实际结果的区别,发现并报告缺陷。

完成阶段包括对测试资料的维护便于再利用,创建一个最终的报告及为了更好地控制将来的测试过程而对测试过程进行评估。

应用&实践

使用VS 2010 TMap测试模板(VS 2010 TMap Testing Template),设置初始的工作项(Work items)。

工作项(Work items)包括测试基础评估(Test basis finding)、用户故事(User story)、缺陷(Bug)、问题(Issue)、测试用例(Test Case)和任务(Task)等。

在TMap for VS 2010过程模板中,有几个预定义的工作项是专为测试人员所创建的。这些工作项主要帮助测试团队使用主测试计划进行结构化测试(Master Test Plan)的过程。

当开始一个测试工作时,需要了解被分配的任务,并确定我们要测试的风险是什么,还必须决定在什么地方进行测试。测试流程步骤如图7所示。

图7  TMap for VS 2010测试生命周期过程

如图8-23所示,TMap for VS 2010为实现有效的和高效的测试过程提供了一个途径,使得软件组织可以实现关键的商业目标。

有效是因为能发现与产品风险直接相关的重要缺陷。

高效是因为TMap是一个普遍适用的方法,它强调重用并采用基于风险的策略。这样的策略使得我们需要做出明智的决定:测试什么和如何彻底测试它们而不是测试所有内容。

具体步骤如下:

①工作项初始化。在VS 2010过程TMap模板中的这些活动,可以使用这些步骤,进行工作项初始化工作。打开VS 2010解决方案浏览器,在TMap for VS 2010模版中,打开Visual Studio 2010 Team Web Access,可以在Share Point web端进行工作项的相关任务操作,如图8所示。

图8  VS 2010 Web Access初始化任务

②活动主测试计划附加导航。访问使用MTM(Microsoft Test Manager 2010)、Visual Studio 2010或TFS 2010 Web Access工具,可以帮助开发团队的每一个角色更快地了解任务、活动和测试的目标。使用MTM 2010、VS 2010和TFS 2010 Web Access与初始总测试计划工作项进行导航,如图9、图10和图11所示。

图9  MTM 2010 与初始总测试计划工作项导航

图10  VS 2010与初始总测试计划工作项导航

图11  TFS 2010 Web Access与初始总测试计划工作项导航

因此,当项目启动时,测试经理(Test Manager)角色给团队成员分配不同的任务(tasks),来完成主测试计划(Master Test Plan)。另外,也可以在项目门户(project portal)中,使用Word和Excel模板来支持这些任务(tasks)。

在Visual Studio 2010中,所有测试的角色提供明确和更好的应用程序生命周期内的支持。测试不使用自己独立的技术手段,而使用由设计师和开发人员使用的集成工具,有效地拆除了开发人员和测试人员之间的墙。但只有良好的工具是不够的,角色和任务的明确区分,并充分授权是非常必要的。最重要的是,结构化方法确定如何成功地完成我们的测试策略。

TMap for VS 2010可以使用其所支持的VS模板进行嵌入式系统测试、Web应用程序、采用迭代方法(MSF Agile)开发的应用、维护中的测试,等等。TMap本身也提供了根据特定环境创建量身定制的测试方法的灵活性,使得TMap在VS 2010中的结构化测试能力大大加强。

[上一节] Visual Studio 2010与测试应用程序生命周期(Lifecycle)(一)

[下一节] 测试中心(Testing Center)(一)

 

[图书连载]Visual Studio 2010与测试应用程序生命周期(Lifecycle)(二)
  • CSDN官方微信
  • 扫描二维码,向CSDN吐槽
  • 微信号:CSDNnews
程序员移动端订阅下载

微博关注

相关热门文章