复制和克隆测试套件和测试用例
如果你要在 Microsoft Visual Studio Team Foundation Server (TFS) 中计划测试,则有多种复制测试套件和测试用例的方式。
理解测试套件或计划包含一组对测试用例的引用非常重要。 如果你删除该套件,或者从每个套件删除测试用例,该测试用例仍然作为 Team Foundation 中的工作项存在,而且你可以通过查询找到它。
在 Microsoft 测试管理器中进行复制和克隆
所有这些过程都在 Microsoft 测试管理器中执行。 选择**“测试中心”、“计划”、“内容”**。 (你还可以从命令行进行克隆。)
在不同套件中引用相同测试
复制和粘贴测试用例以在不同的套件和计划中使用相同的测试。 例如,你可以有快速套件,此套件使用更全面的套件中测试的子集。
使用 CTRL+C 复制测试用例。
选中不同的套件或计划并使用 CTRL+V 粘贴。
(如果你未选中不同的套件,粘贴时将不执行任何操作,因为每个套件只可含有对任何测试用例的一个引用。)
如果你编辑一个套件中的测试用例,你将在查看其他套件中的测试用例时看到更改。
如果你从一个套件删除测试用例,你仅从该套件删除它。 如果你从每个套件删除它,该测试用例仍然在 Team Foundation 中存在,并且你可以使用工作项查询找到它。
克隆并编辑测试用例
使用它创作与现有测试用例相似的新测试用例。
右键单击某个测试用例并选择**“创建副本”**。
新测试用例随即打开。
编辑新测试。 你必须至少更改它的标题。 在**“链接”**下,你可能希望删除指向旧测试用例的链接。
这两个测试可以随后互相独立地进行编辑。
从另一个计划或套件复制套件
当你为新冲刺 (sprint) 创建测试计划时,你经常需要重复之前的冲刺 (sprint) 中的某些测试,以确保你已实现的功能仍然在工作。
为新冲刺 (sprint) 创建测试计划。
选择目标套件或计划,然后获取要复制的套件。
将复制该测试套件以及它包含的任何套件,但是它们包含对相同测试用例的引用。 源测试计划和目标测试计划共享相同的测试用例。
在复制后,你可在任一计划中添加或删除测试用例,而不会影响另一个计划;但是,如果编辑共享测试用例,则更改将影响两个测试计划。
克隆测试计划及其测试用例
如果要使应用程序分支为两个版本,那么克隆非常有用:复制后,可以更改两个版本的测试,而不会彼此影响。
在旧测试计划的上下文菜单上,选择**“克隆计划”**。
在对话框中,选择要复制的套件并设置新区域和迭代路径。
如果要创建你将单独维护的新用户情景或要求,请选中**“克隆要求”**。 例如:
如果你计划最终将两个分支合并,你将需要为已实现和测试的功能保持相同的要求。 不要选中“克隆要求”。
如果你计划分离为两个相似但独立的应用程序,你可能需要更改其中一个的用户情景,而不更改另一个的用户情景。 选中“克隆要求”以为新测试用例创建一组独立的要求。
更新任何基于查询的套件,你复制了这些套件以使用新区域和迭代路径。
如果克隆了自动测试用例,则在目标测试计划中指定生成。
克隆了哪些内容?
克隆测试套件后,会将下列对象从源测试计划复制到目标测试计划:
测试计划对象 |
已复制 |
备注 |
---|---|---|
测试用例 |
每个新测试用例均保留其共享步骤。 源测试用例与新测试用例之间将形成链接。 新的测试用例没有测试运行、Bug、测试结果和生成信息。 |
|
克隆的测试用例引用的共享步骤 |
||
测试套件 |
将保留下列数据:
|
|
从克隆的测试用例链接的操作录制 |
||
链接和附件 |
||
测试配置 |
将在目标测试计划中重新应用测试配置。 |
|
测试设置 |
将应用目标测试计划的测试设置。 |
|
测试结果 |
||
测试运行和探索测试会话 |
由于测试运行仅适用于源测试计划,因此不会复制它们。 |
|
基于要求的套件 |
不带 /clonerequirements |
基于要求的测试套件将转换为目标测试计划中的静态测试套件。 将在此静态测试套件下引用克隆的测试用例。 克隆的测试用例不包含指向其原始要求工作项的链接。 |
基于要求的套件 |
带 /clonerequirements |
已复制并链接到要求工作项的新副本。 |
要求工作项(产品积压工作 (backlog) 项或用户情景) |
带 /clonerequirements |
已克隆与已克隆的基于要求的套件相关联的要求工作项。 |
Bug 工作项 带 /clonerequirements |
带 /clonerequirements |
在使用 Scrum 过程模板的团队项目中克隆,或在其中的 Bug 工作项类型属于要求工作项类别的任何项目中克隆。 在其他项目中,将不会克隆 Bug。 |
使用 tcm.exe 克隆的测试套件的示例
源测试计划
目标测试计划
从命令行克隆测试套件
Tcm.exe 可用于复制测试套件。 打开命令提示符并将目录更改为 %VS110COMNTOOLS%..\IDE。
打开开发人员命令提示符。 或者,使用标准命令提示符并将目录更改为 %VS110COMNTOOLS%..\IDE。 使用 tcm.exe:
cd %VS110COMNTOOLS%..\IDE
tcm suites /clone
/collection:https://Server:8080/tfs/Collection
/teamproject:"TeamProject"
[/destinationteamproject: "DestinationProject"]
/suiteid:sourceId
/destinationsuiteid:targetId
[/clonerequirements]
[/overridefield:"field name"="new value"] [/overridefield:"field 2"="value 2" ...]]
参数:
Server、Collection、TeamProject:Team Foundation Server、团队项目集合和团队项目的名称。
destinationTeamProject:如果目标测试套件在不同的团队项目中,则指定此参数。 它必须在同一团队项目集合中。 你必须为 "Iteration Path" 和 "Area Path" 指定重写字段值。
suiteId 和 destinationSuiteId:要复制的套件的 ID 和新副本将添加到的套件的 ID。 如果要复制整个测试计划,请在测试计划的根目录下使用套件的 ID。
当你在测试计划中选择套件时,套件的 ID 将显示在详细信息窗格中。
你还可使用 tcm suites /list 获取套件列表。
/clonerequirements:克隆附加到基于要求的测试套件的要求工作项。 如果忽略此参数,则基于要求的测试套件将转换为静态套件。
/overridefield:"field name"="new value":更改每个克隆工作项中的字段值。 你可以使用此参数的多个匹配项更改所需数量的字段。
示例:
tcm suites /clone /collection:http://tfs.fabrikam.com:8080/tfs/DefaultCollection
/teamproject:IceCream /destinationteamproject:ToyStore
/clonerequirements
/suiteid:234 /destinationsuiteid:567
/overridefield:"Iteration Path"="ToyStore\sprint3"
/overridefield:"Area Path"="ToyStore\catalog"