InCycle Software's Application Modernization and DevOps Blog

Migrating the step to reproduce field when upgrading a team project from CMMI V4.2 to V5

Written by InCycle | Feb 13, 2011 8:01:06 PM

This post discusses what to do when upgrading an existing team project that was created with MSF CMMI V4.2 to the new MSF CMMI V5 template while wanting to use Microsoft Test Manager.

First we update the team project with the new V5 items. The following post has a sample script to update existing Agile team projects. By inspecting the downloadable batch file, you can extract the required WitAdmin commands to execute.

Basically, we imported the new work items (test case and shared steps), CMMI links types and categories. We choose to re-import the work item types review, issue and risk as they had not been customized. We then manually updated work items template to show the new links tabs for task, bug, change request and requirements (those had been customized).

The problem came about when I wanted to update the steps to reproduce field in the bug work item.

In this team project, we wanted to use Microsoft Test Manager (MTM). When you use this tool and create a bug, it writes the test case steps into the field Microsoft.VSTS.TCM.ReproSteps field (this behaviour is not currently customizable). In process template CMMI V4.2 the step to reproduce was store in field Microsoft.VSTS.CMMI.StepsToReproduce.

Both these field are HTML field types and we needed a way to copy the old values in “Steps to reproduce” to “Repro Steps”.

You cannot use the excel plug-in since the field is HTML. In excel the field is Read-only.

The TFS integration platform could have been a solution is I was moving to another team project.

We came to the conclusion that the only solution was to use the API. Do that end we created a small console application that updates the field.

Note: make sure that the Microsoft.VSTS.CMMI.StepsToReproduce field is still part of your updated bug template (you can choose not to put the field in the work item layout).

This code was inspired by this blog post that had a similar need in TFS 2008.

You can download the sample code in the post.

Please note that there is no error handling and you need to set your TFS collection URL and team project in the code.