Inside VSTS

Introducing Microsoft Test & Lab Manager

The new MTLM is a professional functional testing tool that gives developers the ability to write, run and execute manual tests.

I've been on a hiatus from writing about Visual Studio (VS) and Team Foundation Server (TFS) at, but with the impending arrival of VS2010, I will be exploring numerous areas of the new IDE in a series of columns. The goal is to give you the best advice possible for adopting VS2010, as well as provide techniques for using VS2010 more effectively once you have adopted it. For those of you planning on moving to VS2010, these articles will serve as a good resource for understanding the power and benefits of the VS2010 product line.

In this article I will introduce you to a new product in the Visual Studio lineup called Microsoft Test & Lab Manager (MTLM). MTLM is included as part of Visual Studio Ultimate, but as a standalone product it is also included (and is the main part of) Test Elements. It is a professional functional testing tool that gives you the ability to write, run and execute manual tests and to track the results. It has no dependencies on Visual Studio but does require TFS.

To begin with, MTLM allows you to create Test Plans for a Team Project. These plans have configuration settings, start and end dates, tests (which are arranged into "test suites") and test results. You can have as many different test plans as you want for a given project with the same or different test plan owners. Figure 1 shows the Test Plan Contents page with a requirements-based test suite (left pane) that contains several test cases (shown in the right pane).

Figure 1.

This view allows you to assign test case and test configuration combinations to testers for testing. It also lets you specify different test configurations for each test case, if you desire. From the testing perspective, this view also lets testers add new test cases or complete existing test cases before executing those cases.

Figure 2 shows the new Test Case Work Item Type (WIT). The test case allows you to specify a series of actions and expected results in the familiar test case format. In addition, you can specify parameters in the test cases so that you can re-use test cases for many different conditions. You can also re-use test steps so that repetitive tasks (such as logging onto a system or starting an application) only have to be entered once.

Figure 2.

The Run Tests page allows you to execute manual or automated tests (I will discuss automated tests in a future column) and it also shows you the results of the last test run for the selected test suite. Figure 3 shows the Run Tests page after executing a series of tests. Here you can see two tests passed, one failed and two were not run at all. This allows you to very quickly and easily see the status of (in this case) your requirements in terms of quality.

Figure 3.

When executing tests you are presented with the Test Runner. The Test Runner (shown in Figure 4) allows you to execute multiple tests at once and shows each test step in detail. In this figure I am in the process of filing a bug against the selected step to which I have attached a screenshot and provided a comment about the failure. Each step can be marked as passed or failed and when you file a bug against a test, all of the information about the test is captured.

Figure 4.

Figure 5 shows the Repro Steps section of the bug that was filed from this test case. You can see that all of the steps of the test are captured as well as which step failed. A video recording is also captured and the time index of the failure is linked to the step that failed so a developer can simply click the link and see the failure in progress. The screenshot is captured as well as the system information and other logs which allow the developers to quickly and easily triage the bug.

Figure 5.

In this short article I've introduced you to some of the capabilities of MTLM and Test Runner and how easy it is to manage test cases, test runs and view test results. The Test Runner allows for easily executing tests and filing bugs with all of the information a developer needs to fix the bug -- and the tester does not have to do anything in particular to get this all to work. There are many more capabilities available to you with MTLM and hopefully this brief insight will get you excited about the possibilities and all of the other great features available to you with the testing tools in Visual Studio 2010.

About the Author

Jeff Levinson is the Application Lifecycle Management practice lead for Northwest Cadence specializing in process and methodology. He is the co-author of "Pro Visual Studio Team System with Database Professionals" (Apress 2007), the author of "Building Client/Server Applications with VB.NET" (Apress 2003) and has written numerous articles. He is an MCAD, MCSD, MCDBA, MCT and is a Team System MVP. He has a Masters in Software Engineering from Carnegie Mellon University and is a former Solutions Design and Integration Architect for The Boeing Company. You can reach him at [email protected].

comments powered by Disqus


  • Death of the Dev Machine?

    Here's a takeaway from this week's Ignite 2020 event: An advanced Azure cloud portends the death of the traditional, high-powered dev machine packed with computing, memory and storage components.

  • COVID-19 Is Ignite 2020's Elephant in the Room: 'Frankly, It Sucks'

    As in all things of our new reality, there was no escaping the drastic changes in routine caused by the COVID-19 pandemic during Microsoft's big Ignite 2020 developer/IT pro conference, this week shifted to an online-only event after drawing tens of thousands of in-person attendees in years past.

  • Visual Studio 2019 v16.8 Preview Update Adds Codespaces

    To coincide with the Microsoft Ignite 2020 IT pro/developer event, the Visual Studio dev team shipped a new update, Visual Studio 2019 v16.8 Preview 3.1, with the main attraction being support for cloud-hosted Codespaces, now in a limited beta.

  • Speed Lines Graphic

    New for Blazor: Azure Static Web Apps Support

    With Blazor taking the .NET web development world by storm, one of the first announcements during Microsoft's Ignite 2020 developer/IT event was its new support in Azure Static Web Apps.

  • Entity Framework Core 5 RC1 Is Feature Complete, Ready for Production

    The first release candidate for Entity Framework 5 -- Microsoft's object-database mapper for .NET -- has shipped with a go live license, ready for production.

Upcoming Events