Continuing from the previous post, here is our last myth:

Myth 3: Bugs found through exploratory testing are hard to reproduce

Testers have to remember exactly what steps they did and note it down in detail when they find a defect. The stated problem is that with no pre-scripted steps in exploratory testing, the onus on the tester is too huge and might lead to poorly documented bugs that cannot be reproduced later on. There is also an additional problem that there could have been a state based defect where the step that triggered the bug could have been done several minutes earlier but the defect showed up later, leading the tester to delink the earlier action and the bug.

This is where tools can help ease the tester’s life. One of the most appealing aspects of exploratory testing is that it lets testers focus on the creative aspects of testing and not get bogged down by the tedious job of writing detailed documentation for test cases or bugs. In order to keep the tester’s time maximized for the actual job of breaking software, tools can help do the defect creation automatically with the right data.

For instance, we dogfood our own Microsoft Test Manager to file actionable bugs with the right information automatically populated so all the tester needs to do when she finds a defect during testing is to just type the title of the bug. The steps that the tester performed before hitting the defect, desktop recording of the actions until then, event logs, historic debugging logs and snapshots of the virtual machine that the tester performed her testing on – all of this is stored in the defect automatically. Check out the tutorial here that shows how to do exploratory testing with the newly released CTP of Microsoft Test Manager in VS 11 and here is a list of all the different kinds of data that can be captured in the tool. We also use the tool to automatically create test cases when there are tests worth rerunning as part of the regression test suite.

Download the free Visual Studio 11 Developer Preview and check out how our exploratory testing tool captures actionable bugs:

In summary, exploratory testing done with the right tools enables you to:

  • Define and vector testing as appropriate for your app
  • Communicate your testing goals and progress to the team
  • Test more frequently and file comprehensive bugs faster

I hope this series has enthused you to try exploratory testing if you haven't already - let me know your experiences...I'd love to hear from you.

So, go on, be a fearless explorer!