TFS - 使用微软测试管理器实现跨团队项目的测试用例管理
在团队项目之间实现测试用例和测试计划的共享,是很多客户关注的问题。尤其在开发产品+服务的团队中,对测试用例的共享要求比较高。下面就如何在Team Foundation Server中如何实现团队项目之间的用例共享,分析自己的经验。
同一个团队项目:
在TFS的同一团队项目中,可以非常方便的实现测试用例的共享的维护,我们可以在测试计划和测试套件中添加已经存在的测试用例。也可以克隆测试套件和测试计划,非常方便和快速地为测试内容相对比较接近的两个迭代创建测试计划。

Figure 1 – 在测试管理器中克隆测试计划
不同的团队项目:
但是,当你需要在团队项目之间复制测试计划、测试套件和测试用例时,你发现问题会变得比较复杂。测试管理器中的克隆功能已经不能满足我们的基本需求。有些客户会寻找其他的方案,例如使用Excel作为导出/导入的工具,在团队项目间复制测试用例,或者借助第三方的工具,例如Test Case Migrator Plus(http://tcmimport.codeplex.com/)将测试用例导入到新的团队项目中,有些团队甚至自己开发一个导入脚本或者工具。
上面的几个方案在特定场景中可以解决一部分问题,但是如果需要将测试用例和测试计划、测试套件之间的关系也导入到其他团队中,难度相对就比较高了。
其实开箱即用的TFS产品自身就有团队项目之间共享/复制测试计划的解决方案,下面以测试用例引用和复制两种方案说明如何实现这个目标:
一、通过引用的方式利用测试用例
首先需要了解引用和复制测试用例/套件的区别。
引用测试用例的场景一般是这样的,在测试计划中添加已经存在测试用例。这是基于原有的测试用例增加一个引用(Reference)。在测试计划中修改测试用例的属性,例如状况、测试步骤等,都会直接反射到被引用的测试用例。
在TFS的工作项管理中,复制测试用例(其他类型的工作项同理),会在系统中创建一个全新的测试用例,同时将原测试用例中的属性值复制到新的测试用例中。
可以看出,添加测试用例(引用)测试用例与复制测试用例是完全不同的机制,结果也完全不同。
下图演示了如何在测试计划中添加一个其他团队项目中的测试用例。

Figure 2 – 从其他团队项目添加测试用例
(注意:所有的团队项目必须在统一个团队项目集合中。)
二、通过测试管理器的命令行工具(tcm.exe)复制测试用例
在有些场景中,需要在团队项目直接复制测试套件和测试用例,并且复制二者之间的链接关系。下面我们需要用到微软测试管理器自带的一个命令行工具(tcm.exe, Test Case Manager)来实现这个功能。
使用这个工具,你需要安装:
1. Visual Studio Enterprise,或者
2. Microsoft Test Manage Professional
命令存在的磁盘路径一般是:<Drive:>\Program Files\Microsoft Visual Studio <version>\Common7\IDE
或者直接在Visual Studio 2015开发人员命令提示窗口中输入tcm, 如下图:

Figure 3
TCM除了可以管理测试用例之外,还可以调用自动化的测试功能,这里我只说明如何在团队项目之间复制测试用例和测试套件,你可以使用命令“tcm /?”获取这个工具的所有功能帮助信息。
复制测试套件命令“tcm suites”的主要用法如下表:
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0>tcm suites /? TCM - 测试用例管理工具,版本 14.0.23107.0 版权所有(C) Microsoft Corporation。保留所有权利。
suites 命令选项可用的选项
tcm suites /list [/planid:id | /querytext:query] /collection:teamprojectcollecti onurl /teamproject:project [/login:username,[password]]
tcm suites /clone /suiteid:id /destinationsuiteid:id [/overridefield:name=value [/overridefield:name=value ...]] [/destinationteamproject:projectname] [/destinationworkitemtype:workitemtype] /collection:teamprojectcollectionurl /teamproject:project [/login:username,[password]] [/clonerequirements]
tcm suites /clone /status:cloneoperationid /collection:teamprojectcollectionurl /teamproject:project [/login:username,[password]]
/list 命令允许在指定的计划中枚举套件,并 检索套件名称和 ID。
/clone /suiteid /destinationsuiteid 命令在 TFS 中启动一个克隆操作以将一个套件中 的所有测试用例克隆到另一个目标套件。 目标套件必须位于不同的计划中。将克隆包含的所有套件 和测试用例。 也可以指定多个测试用例字段及其值作为重写 以便将克隆的测试用例与原始测试用例区分开来。该命令 将返回可用于跟踪克隆操作的状态和完成情况 的操作 ID。 默认情况下,基于要求的套件将会克隆到一个静态套件, 但如果指定 /clonerequirements 开关,则会将其克隆到一个具有克隆的要求的 基于要求的套件。 默认情况下,克隆操作将在同一个团队项目中完成。若要 跨团队项目执行克隆,请指定 /destinationteamproject 开关。 请注意,需要将“区域路径”和“迭代路径”字段指定为 重写才能使此开关工作。 若要更改克隆的测试用例的工作项类型,请指定 /destinationworkitemtype 开关。
/clone /status 命令允许基于克隆操作的 ID 来跟踪 其状态和完成情况。
示例: tcm suites /list /planid:2 tcm suites /clone /suiteid:1 /destinationsuiteid:2 /overridefield:"Iteration Path"="Project1\Iteration 2" /overridefield:"Area Path"="Project1\Area 1" /clonerequirements tcm suites /clone /status:1 |
在实际应用中,需要注意以下的问题:
1. 由于功能的限制,它不能实现测试计划在团队项目直接的克隆,只能复制测试计划中间的测试套件
2. 可以复制测试套件中的子套件(sub-folders)
3. 可以复制测试套件中的测试用例
4. 如果测试用例在多个套件中被引用,可以复制这种引用关系
http://www.cnblogs.com/danzhang/ ALM MVP 张洪君
TFS - 使用微软测试管理器实现跨团队项目的测试用例管理的更多相关文章
- TFS2015源代码管理器无法建立团队项目的问题
最近在服务器安装了微软最新版的TFS2015 正版要钱,网络上还没有能找到可用的key,因此我只能使用试用版. 安装完成后,使用我本地的vs2013 vs2012 vs2010 vs2014 ...
- JMeter HTTP Cookie管理器的跨域使用
Jmeter的一个测试计划只能有一个cookie管理器,当多个manager同时存在时,无法指定是用的哪一个manager.如果想让cookie manager跨域使用,修改JMeter.proper ...
- TPA测试项目管理系统-测试用例管理
Test Project Administrator(简称TPA)是经纬恒润自主研发的一款专业的测试项目管理工具,目前已广泛的应用于国内二十余个整车厂和零部件供应商.它可以管理测试过程 ...
- 使用 NuGet 包管理器在 Visual Studio 中安装和管理包
https://docs.microsoft.com/zh-cn/nuget/consume-packages/install-use-packages-visual-studio 通过 Window ...
- [BI项目记]-搭建代码管理环境之创建团队项目
此篇主要介绍如何基于TFS环境创建团队项目来进行项目代码的版本管理工作,这一系列将侧重于BI项目,当然对于其它项目也同样适用. 在TFS里开始一个项目,我们首先需要创建一个团队项目. 在Team Ex ...
- Android布局管理器-从实例入手学习相对布局管理器的使用
场景 AndroidStudio跑起来第一个App时新手遇到的那些坑: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103797 ...
- 【Android 应用开发】AndroidUI设计之 布局管理器 - 详细解析布局实现
写完博客的总结 : 以前没有弄清楚的概念清晰化 父容器与本容器属性 : android_layout...属性是本容器的属性, 定义在这个布局管理器的LayoutParams内部类中, 每个布局管理器 ...
- <转>jmeter(十九)HTTP属性管理器
本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...
- jmeter(十九)HTTP属性管理器
jmeter是一个开源灵活的接口和性能测试工具,当然也能利用jmeter进行接口自动化测试.在我们利用它进行测试过程中,最常用的sampler大概就是Http Request, 使用这个sampler ...
随机推荐
- 从基础学起----xuld版高手成长手记[1]
别人的代码总是看不懂? 想实现一个功能总是无从下手? 学会一个,但稍微变个花样就不知道了? 无论你擅长什么编程语言,如果你觉得自己基础薄弱,想从头开始学起,那本文将适合你. 这篇文章的含金量非常高,如 ...
- 功能齐全的图表库 ACharts
ACharts是基于Raphael 库开发的,而Raphael.js是基于svg和vml语言,因此最低可以兼容到IE6+,而最高则所有支持w3c svg标准的现代浏览器都可以使用,svg甚至在手机平台 ...
- 基于 Bootstrap 的响应式后台管理面板
你想建立一个后台管理面板或者分析仪表板吗?不需从头开始,Keen IO Bootstrap 是一个响应式的仪表盘模板,可以帮助你在几分钟内呈现数据,让你可以创建一个有吸引力的,定制的分析仪表板,随时可 ...
- 太可爱了!CSS3 & SVG 制作的米老鼠钟表
米老鼠是大家非常熟悉的迪斯尼动画形象.这是一个可爱的效果,结合 CSS & SVG 图形实现的米老鼠钟表效果.Web 技术让很多生活中的事物都能搬到网上去,后面的推荐阅读也有很多的效果,感兴趣 ...
- animate 实现滑动切换效果
今天和大家分享一下用 animate 实现滑动切换效果的小例子 ------- 来自<一只有梦想的前端小白> 大家都知道jQuery 提供的有一下几种方法能够实现滑动效果: slideDo ...
- Ridge Regression(岭回归)
Ridge Regression岭回归 数值计算方法的"稳定性"是指在计算过程中舍入误差是可以控制的. 对于有些矩阵,矩阵中某个元素的一个很小的变动,会引起最后计算结果误差很大,这 ...
- [javascript svg fill stroke stroke-width x y rect rx ry 属性讲解] svg fill stroke stroke-width rect 绘制具有圆角矩形属性讲解
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...
- Vault 不同版本的API的异同
大家知道,Autodesk Vault 2014有几个版本,依次为( Basic, Workgroup, Professional),不同版本的功能不相同,关于Vault产品功能的不同之处可以在Vau ...
- Android 常见对话框
1.对话框通知(Dialog Notification) 当你的应用需要显示一个进度条或需要用户对信息进行确认时,可以使用对话框来完成. 下面代码将打开一个如图所示的对话框: public void ...
- 干货之运用CALayer创建星级评分组件(五角星)
本篇记录星级评分组件的创建过程以及CALayer的运用. 为了实现一个星级评分的组件,使用了CALayer,涉及到mask.CGPathRef.UIBezierPath.动画和一个计算多角星关键节点的 ...