Microsoft introduced a new feature in Microsoft Test Manager (MTM) 2012 – Deep Copy of test suites. Unfortunately it’s not accessible through the MTM user interface, instead it’s only available through a command line utility. It’s not the best of user experiences..
The new Deep Copy feature
There is a Copy Test Suite feature in MTM 2010 , but it only copies a test suite so the new test suite links to the same test cases. The new Deep Copy feature in MTM 2012 copy test suites also, but it also creates copies of every test case and re-link all links in the suite. This is a great feature if you need to preserve the state of your test cases or create a baseline.
Deep copy exposed through the TFS API
Luckily the TFS API exposes methods for the new deep copy feature. The API version is, as well as the command line implementation, asynchronous. Using the API to do a deep copy is quite simple if you have the Id’s for everything. It’s actually more work building an user Interface to present a test plan and making it possible to view and select the test suites in the test plan.
An embryo for future tooling
Building the UI for the Deep Copy PoC got me thinking. There is a lot of manual work involved then building a new test plan then moving from one sprint to another, or then moving to a new release. Building the UI for the Deep Copy PoC soon got me thinking about adding other features to improve the experience of building a Test Plan.
This PoC is build against the Release Candidate of VS and TFS. As usually I’ve zipped and uploaded the PoC source to my sky drive. You will find it here: https://skydrive.live.com/?cid=5D46CAE8C0008CF0&id=5D46CAE8C0008CF0%211862