Application Lifecycle Management is all about getting traceability, visibility and automation into your software development process. When I see customers implementing ALM, they start with things like source control, project management tooling and build servers. Some of the more advanced development teams start looking at release management to automate their deployments. One area however that's often overlooked is testing. All to often I see companies use Excel to track their test cases. Testers spent a lot of time executing there tests manually and tracking their progress. When it comes to goals such as continuous delivery, a non-efficient testing process can be a big obstacle.
One of the better kept secrets of the Microsoft ALM implementation is Microsoft Test Manager. MTM can help testers with their work and integrate them fully into the ALM process of the overall team.
In this blog post I want to highlight a few options that got me enthusiastic about using MTM.
As developers we use Visual Studio. Project managers use the web interface of TFS and Excel. Testers use Microsoft Test Manager. MTM is specifically created for testers. The application is a lot easier to use than Visual Studio and really helps testers in getting their work done.
You can download a free, 90 day trial of Visual Studio Test Professional to checkout all the capabilities of MTM.
MTM lets testers create test cases that record the steps to test some functionality. A typical test case is shown in the following screenshot of MTM.
Here you see a test case with a couple of test actions and an expected result. One of the coolest features of MTM is the ability to record your test steps while manually running the test. The next time you execute the test case, you can fast forward through the steps and only pause on the interesting steps. Recording steps works in a lot of applications. The following screenshot shows how a previously recorded test case is automatically played back. In this case, you will see MTM automatically open your browser, navigate to the correct website, perform some actions on the site and then pause so you can decide if the outcome is correct.
Imagine how much time this can save your testers! Instead of having to manually repeat all steps for every test case they are executing, they can automatically fast forward to the interesting steps in their test.
When running a test case, MTM helps you by automatically collecting all kinds of data that can help in reproducing and fixing bugs. This is done by using so called Data Collectors. By default, you can collect System Information like Windows version, resolution, language settings and much more. But as you can see in the following screenshot this list can easily be expanded:
One of the options is to record your testers screen and voice. Or what about IntelliTrace data? When data is collected, it gets automatically attached to the test case or any bugs created by the tester. No more struggling with testers to get all the information you need to fix a bug. Just configure a Data Collector for them and let them run their tests while you get all the data you want.
One notable option is Test Impact analysis. When you go full ALM with TFS, you can configure your build servers to deploy to test environments. The build server can analyze what has changed in a certain build and map this to the test cases that your testers are running. By combining this data, MTM can do a pretty good prediction of which test cases need to run on a new version of your application.
What if you have no formal test cases or you don’t have any testers on your team? What if you want to do some testing work as a developer or let a stakeholder go through your application while making sure you can reproduce what he's done? Meet Exploratory Testing. By starting an Exploratory Testing session from MTM you can follow your own intuition and test whatever looks important to you. In the mean time, the full power of MTM helps you by recording your actions, allowing you to easily create screenshots and add comments to your testing session. Whenever you encounter a bug, you can attach all relevant recorded data to your bug and put in TFS. For example, the following bug is created while running an exploratory testing session. Do you notice the steps automatically recorded in the Steps to reproduce panel? You can edit those steps, add extra information and combine this with the automatically collected video or IntelliTrace data.
These are only three of the features that get me enthusiastic about MTM. However, there is a lot more. Using parameters, tracking progress, using different configurations, using the web interface and much more. If you want to experiment with MTM, you can download the 90 day trial of Visual Studio Test Professional or get the Brian Keller VM with a couple of Hands On Labs to quickly get a tour of all MTM has to offer you.
Let me know what you think of it!
Questions? Feedback? Please leave a comment!