TFS & Visual Studio ALM – by Neno Loje

(formerly Team System, VSTS)

Specifying a user upfront or: How is the developer supposed to know who will be the responsible tester?

January 13th, 2009 · No Comments · Team Foundation Server, TFS Process Customization, TFS Tips and Tricks, VSTS

In a small team this sounds like oversize, but in mid-sized large teams it’s common that you do not know who is going to be the tester.

Looking at the Bug workflow from MSF Agile:

  1. while "Active" the project lead decided if and when the bug is going to be fixed and assigns it to the responsible developer.
  2. between "Active" and "Resolved" is where the developers implements the fix.
  3. between "Resolved" and "Closed" is where the tester verifies the fix.

MSF Agile Bug workflow

When the developer finishes coding he changes the state from "Active" to "Resolved", e.g. by checking in and associating the changeset with the work item.

But by doing so the work item is still assigned to him. In our scenario he doesn’t know who will be the responsible tester to verify the fix. So who knows?

The project lead might have that information. So either we assign it back to the project lead to make him assign it to as tester or we make the project lead specify the tester upfront (with the ability to change it afterwards if necessary).

In this example we’ll implement the second approach.


Ask for the Tester when creating the bug and automatically it for the transition from "Active" to "Resolved"

Required Work Item Customization

Step 1: Add a new string field to hold the tester
In this example we will make it a required field (<required/>) and ensure that it contains a valid user (<validuser/>).

<FieldDefinition> type="String" name="Tester" refname="TeamSystemPro.Samples.Tester">

Step 2: Add a rule to the transition from "Active" to "Resolved"
Automatically copy the value of the tester field to the Assigned to field.

<FieldReference refname="System.AssignedTo">
  <COPY from="field" field="TeamSystemPro.Samples.Tester" />


When creating a new bug it’s now required to select a Tester before it can be saving.

Creating a new bug requires a tester to be specified

When choosing "Resolved" for the state "Assigned to" will be automatically filled with the contents from the "Tester" field.

Transitioning to resolved copies the tester to the Assigned to field

The history correctly shows the change in the "Assigned To" field from the developer (here: "Neno Loje" to the tester (in this case: "Administrator")

History displays the change in Assigned to field

Happy Customizing!


No Comments so far ↓

There are no comments yet...Kick things off by filling out the form below.

Leave a Comment