Copying and Cloning Test Suites and Test Cases
There are several ways to duplicate test suites and test cases in Microsoft Visual Studio Team Foundation Server (TFS).
Duplicate a single test case in a test suite in Microsoft Test Manager.
This feature is useful when you want to author a new test case that is similar to an existing one.
Copy a test suite from another test plan in Microsoft Test Manager (copy by reference or shallow copy).
A test suite and any contained suites are copied, but the test cases are not copied. The source and destination test plans share the same test cases. After the copy, you can add or remove test cases from either plan without affecting the other; however, if you edit a shared test case, the changes will impact both test plans.
This is the most frequently used copy operation. It is useful when you are creating a new test suite for the next iteration or sprint, and you want to repeat the most important tests from previous sprints.
Cloning test suites by using tcm.exe (copy by value or deep copy) creates new test cases in the destination test plan. These new test cases are copies of the test cases in your source test plan. After the copy, you can edit the test cases in either plan without affecting the other. Cloning test suites is useful when you want to work on two differing releases simultaneously. The source and target suites must be in the same team project collection.
Note
If you have not installed Visual Studio 2012.1 – Visual Studio and TFS: The source and target suites must be in the same team project.
Tip
If you have installed Visual Studio 2012.2, you can perform cloning operations from Microsoft Test Manager. See To clone a test suite from Microsoft Test Manager
Requirements
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional
To duplicate a single test case
This feature is useful when you want to author a new test case that is similar to an existing one.
In Microsoft Test Manager, choose Testing Center, Plan, Contents.
Select a test suite and a test case.
In the toolbar of the test case list, choose Create a copy of the selected test case and add to this suite.
To copy test suites from another test plan
In Microsoft Test Manager choose Testing Center, Plan, Contents.
Select a static test suite into which you want to copy the older suite.
In the toolbar of the test suites hierarchy, choose Copy test suites from another test plan and follow the wizard.
The test suite and any suites it contains are copied, but the test cases are not copied. The source and destination test plans share the same test cases.
After the copy, you can add or remove test cases from either plan without affecting the other; however, if you edit a shared test case, the changes will impact both test plans.
To clone a test suite and its test cases
Cloning is useful if you want to develop different versions of an application: after copying, the tests for the two versions can be changed without affecting each other.
Open the Developer Command Prompt. Alternatively, use a standard command prompt and change directory to %VS110COMNTOOLS%..\IDE. Use 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" ...]]
Parameters:
Server, Collection, TeamProject: The names of your team foundation server, team project collection, and team project.
destinationTeamProject: Specify this if the destination test suite is in a different team project. It must be in the same team project collection. You must specify override field values for "Iteration Path" and "Area Path".
suiteId and destinationSuiteId: The ID of the suite to be copied, and the ID of the suite into which the new copy will be added. If you want to copy a whole test plan, use the ID of the suite at the root of the test plan.
The ID of a suite is displayed in the details pane when you select it in the test plan.
You can also get a list of suites by using tcm suites /list.
/clonerequirements: Clone requirements work items that are attached to requirements-based test suites. If you omit this parameter, requirements-based test suites are converted to static suites.
/overridefield:"field name"="new value": Change the value of a field in each cloned work item. You can use multiple occurrences of this parameter to change as many fields as you want.
(Deprecated)/fieldname:"field name" /fieldvalue:"new value": Change the value of a field in each cloned work item. You could use this to change the iteration path when you copy a suite from one sprint to another.
If you have installed Visual Studio 2012. 1 – Visual Studio and TFS, use /overridefield instead. You can change only one field by using /fieldname and /fieldvalue.
Note
/destinationTeamProject, /clonerequirements and /overridefield are available only if you have installed Visual Studio 2012.1 – Visual Studio and TFS.
Examples:
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"
The following example works without Visual Studio 2012.1:
tcm suites /clone /collection:http://tfs.fabrikam.com:8080/tfs/DefaultCollection
/teamproject:IceCream
/suiteid:234 /destinationsuiteid:567
/fieldname:"Iteration Path" /fieldValue:"IceCream\sprint3"
To clone a test suite from Microsoft Test Manager
With Visual Studio 2012.2 installed, you can clone a test plan in Microsoft Test Manager by selecting the Test Plan Manager in the Organize tab of the Testing Center.
Open the context menu for the test plan and choose Clone to open the Clone a test plan dialog box and perform your cloning operation.
Adjustments to be made after a clone
Update query-based suites if you have overridden field values in the clone operation. For example, if you provided an override value for Area Path and you have a query-based suite that depends on Area Path, consider editing the query. For more information, see Organizing Test Cases Using Test Suites.
With /clonerequirements: Add detail to the new requirements. The clone operation creates a new requirement work item (product backlog item or user story) for each cloned requirement suite. Edit the new requirements to be appropriate for the new test plan.
Without /clonerequirements: Create new requirements and requirements-based suites. Without /clonerequirements, the clone operation converts requirements-based test suites into static suites, and the new test cases are no longer linked to any requirement work item. Therefore, you might want to create requirements work items (product backlog items or user stories), create suites from them, and then move the test cases into those suites. For more information, see Organizing Test Cases Using Test Suites.
Specify a build in the destination test plan if you have cloned automated test cases. For more information, see How to: Associate an Automated Test with a Test Case.
What Gets Cloned?
When you clone a test suite using tcm.exe, the following objects are copied from the source test plan to the destination test plan:
Test plan object |
Copied |
Notes |
---|---|---|
Test case |
Each new test case retains its shared steps. A link is made between the source and new test cases. The new test cases do not have test runs, bugs, test results, and build information. |
|
Shared steps referenced by cloned test cases |
||
Test suite |
The following data is retained:
|
|
Action Recordings linked from a cloned test case |
||
Links and Attachments |
||
Test configuration |
The test configuration is reapplied in the destination test plan. |
|
Test settings |
The test setting for the destination test plan is applied. |
|
Test results |
||
Test runs and exploratory test sessions |
Because test runs are applicable only to the source test plan, they are not copied. |
|
Requirements-based suites |
Without /clonerequirements |
Requirements-based test suites are converted to static test suites in the destination test plan. Cloned test cases will be referenced under this static test suite. Cloned test cases do not include links to their original requirements work items. |
Requirements-based suites |
[Visual Studio 2012.1] with /clonerequirements |
Copied and linked to a new copy of the requirement work item. |
Requirements work items (product backlog items or user stories) |
[Visual Studio 2012.1] with /clonerequirements |
Requirements work items that are associated with a cloned requirements-based suite are cloned. |
Bug work items [Visual Studio 2012.1] with /clonerequirements |
[Visual Studio 2012.1] with /clonerequirements |
Cloned in a team project that uses the Scrum process template, or any project in which the Bug work item type is in the Requirements work item category. In other projects, bugs are not cloned. |
Example test suite cloned by using tcm.exe
Source Test Plan
Destination Test Plan
See Also
Concepts
Organizing Test Cases Using Test Suites
Creating Tests for Product Backlog Items, User Stories, or Requirements