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 ...
随机推荐
- jQuery+turn.js翻书、文档和杂志3种特效演示
很好用的一款插件jQuery+turn.js翻书.文档和杂志3种特效演示 在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...
- 如何在Visual Studio中开发自己的代码生成器插件
Visual Studio是美国微软公司开发的一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等,且所写的目标代码适用于微 ...
- 编写高性能Javascript代码的若干建议
多年来,Javascript一直在web应用开发中占据重要的地位,但是很多开发者往往忽视一些性能方面的知识,特别是随着计算机硬件的不断升级,开发者越发觉得Javascript性能优化的好不好对网页的执 ...
- HubSpot – 网站开发必备的 jQuery 信息提示库
HubSpot 一款功能丰富的 jQuery 消息提示插件.它可以帮助你个性化显示您的应用程序的事务性消息.您可以轻松地包裹 Ajax 请求进度,成功和错误消息,还可以添加操作链接到您的消息中. Hu ...
- 经典!HTML5 Canvas 模拟可撕裂布料效果
这是一个模拟可撕裂布料效果的 HTML5 Canvas 应用演示,效果逼真.你会看到,借助 Canvas 的强大绘图和动画功能,只需很少的代码就能实现让您屏息凝神的效果. 温馨提示:为保证最佳的效果, ...
- 【javascript激增的思考02】模块化与MVC
前言 之前我们遇到了这么一个项目,也就是我们昨天提到的,有很多的小窗口的,昨天说的太抽象了,今天我们再来理一理什么是小窗口(后面点说下),当时由于js有一点复杂,我自己也装B跟风用了一下传说中MVC! ...
- [deviceone开发]-do_Camera的简单示例
一.简介 do_Camera组件是通过拍照裁剪来生成图片的组件,这个示例直观的展示组件基本的使用方式 二.效果图 三.相关下载 https://github.com/do-project/code4d ...
- CSS3滚动条-webkit-scrollbar
webkit现在支持拥有overflow属性的区域,列表框,下拉菜单,textarea的滚动条自定义样式. 如果你想跳过介绍,直接看demo的话,请点击demo 滚动条是一个伪元素,可以自定义样式.这 ...
- GitHub学习心得之 安装配置与多帐号管理
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 GitHub学习心得之 安装配置与多帐号管理 1.前言2.GitHub Linux安装(ub ...
- SharePoint回环检查(Loopback Check)相关问题
Loopback Check(回环检查)本来不是一个SharePoint问题,是Windows Server为了增强自身安全性在Server 2003 SP1后引入的一个功能, 在近几个月中导致了一系 ...