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 ...
随机推荐
- php 相关模块备忘
在安装php的时候,不管是编译安装: ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...
- 功能齐全的图表库 ACharts
ACharts是基于Raphael 库开发的,而Raphael.js是基于svg和vml语言,因此最低可以兼容到IE6+,而最高则所有支持w3c svg标准的现代浏览器都可以使用,svg甚至在手机平台 ...
- windows中安装node.js和测试
首先下载node.js安装包:下载页面:http://down.keleyi.com/goto/node.js.htm 选择windows msi安装包,根据自己操作系统选择32位或者64位安装包.然 ...
- jQuery动态提示消息框效果
效果预览:http://keleyi.com/keleyi/phtml/jqtexiao/2.htm 原文:http://keleyi.com/a/bjac/hxv86dyi.htm <!DOC ...
- [deviceone开发]-do_Socket组件示例
一.简介 do_Socket只实现了socket的客户端的功能,这个示例完整了展示了组件的基本用法,需要和sockettest3工具配合使用,sockettest3做为一个socket server来 ...
- Web安全之CSRF攻击
CSRF是什么? CSRF(Cross Site Request Forgery),中文是跨站点请求伪造.CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任, ...
- Weinre调试移动端页面
Weinre是什么 如果我们做的是Cordova(phonegap)或其他hybird应用,当使用到原生功能时候(类似原生请求数据或页面切换时),没办法在PC chrome浏览器调试页面,一旦页面在手 ...
- 使用Unity3D的50个技巧
使用Unity3D的50个技巧 刚开始学习Unity3D时间不长,在看各种资料.除了官方的手册以外,其他人的经验也是非常有益的.偶尔看到老外这篇文章,觉得还不错,于是翻译过来和大家共享.原文地址:ht ...
- 第一次写jquery插件,来个countdown计时器吧
之前同学做个购物商城秒杀活动需要计时器的功能,在用jquery提供的countdown插件时,一直报错,貌似还需要依赖除jquery之外的其他插件,搞了半天也没搞成功,就叫我帮忙写个.然而我并没有写过 ...
- js 中{},[]中括号,大括号使用详解
一.{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数. 如:var LangShen = {"Name":"Langshen",&qu ...