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 VisualStudioMagazine.com, 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).
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.
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.
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 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.
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.
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 Jeff.Levinson@nwcadence.com.