Learn to use Visual Studio, Visual Studio Online, Application Insights and Team
Foundation Server to decrease rework, increase transparency into your application and increase the rate at which
you can ship high quality software throughout the application lifecycle
My favorite feature of exploratory testing with Microsoft Test Manager is automatic requirement traceability, that it automatically builds up my test plan as I perform my explorations.
So let's say that I have a backlog item that my team is working on and it is now ready to be tested. To perform exploratory testing on it, I launch Microsoft Test Manager and create a new empty test plan. This is how my Plan->Contents tab looks currently:
Now I select the relevant backlog item and start exploring it, similar to the walkthrough here. I launch my application, perform actions on it, take screenshots, add comments, create bugs and create test cases. I keep doing this for a while until I am confident that I have covered all the items in the acceptance criteria of the backlog item. After a few minutes of testing, this is how my exploratory testing window looks, I have created 3 bugs and 5 test cases overall.
Confident that I have covered everything, I click on 'End testing' which takes me back to Test Manager. Here, after viewing the summary of my exploratory test session, I go back to my testplan, which was completely blank when we had started. This is how it looks now:
So while I was exploring my application a requirement based suite has been added to my test plan, consisting of all test cases that I created during my exploratory session. This is like a set of regression tests that can be used for verifying this feature in future test passes. As I go on exploring requirement work items, new suites will keep on getting added to my plan. In fact, If I had done my exploratory testing without the context of any work item, my test cases would have still been added to my test plan's root suite.
This saves me a lot of effort of writing test cases and then organizing them into a plan, since my test plan gets automatically built up while I perform my testing.