Using Visual Studio Test Controller with MTM and Disk out of space issues

Microsoft Test Manager uses the test controller to perform remote automated runs. One of the most commonly reported issue is that of the test controller running out of space. By default the Test Controller persists the messages flowing between itself and the test agents it manages onto a unique temp folder per run (%localappdata%\VSEQT\QTController\TestRunStorage). This was useful in when the controller was used in a non-TFS scenario where-in a user can queue a run to a controller from one machine and connect to the controller (Manage Test Runs) and monitor the status of the runs in progress and also completed runs from another machine. This TestRunStorage was the repository for all the test runs. When the test controller is used with TFS, the test run result information is stored at the TFS making this store at the Controller redundant.

When a automated test run queued from MTM or using the Build Deploy Test workflow is executed by the controller the data collectors are enabled as part of this run. At the end of a test run the data collectors also send back the data through messages and this gets stored at the controller. If the test run is for a longer duration, some of the files send by the data collectors increases in size proportionally (intellitrace). This was causing the Controller to run out of space pretty quick.

Both Microsoft Test Manager and Visual Studio have an option to delete temporary folders at the Controller, but it doesn’t delete the data from TestRunStorage. However there’s an option to complete turn off job spooling. Open QTController.exe.config from the Visual Studion install location (<installdir>\Microsoft Visual Studio 10.0\Common7\IDE) and set the value of the flag “ControllerJobSpooling” to false and restart the controller service.