How to Choose between Exploratory and Scripted Testing


exploratory testing, we need to mitigate the weaknesses of the approach. Mitigation strategies include:

High-level scripts or use cases. Use cases or high-level scripts provide a set of actions for the tester where a guarantee of test coverage is necessary. The experience, skill, and knowledge of the tester is still relied on, but there is some level of comfort with this documentation.

Checklists. An even higher level of documentation is a checklist that specifies processes and sections of the system as a single item to be tested. The depth and manner they are tested are still open, but a level of assurance can be achieved.

Creating scripts during execution. Testers can create a test script as they execute it, though normally without the expected outcome. The actual outcome, however, may be documented for review. This gives a detailed and formal manner to demonstrate coverage, but it also increases the overhead for testing.

All of the above are simply about reducing the level of documentation, and hence overhead, associated with scripted testing while getting some of the benefits of the more formal approach. Use cases and checklists are a means for the business or test manager to nominate and ensure coverage of the higher risk areas of the application and provide a certain level of comfort. Use cases and checklists are particularly appropriate where little or no documentation exists and proper test analysis is difficult or impossible. This allows information and priorities to be passed directly through the testing process without having to reverse engineer missing information.

The benefits of exploratory testing are increasingly becoming recognized. When employing it, however, as with all testing, we need to examine the testability and risks associated with each area of the application and choose the most effective and efficient approach throughout the application. We also have to recognize the limitations in time and resources that constrain most test efforts. By analyzing the factors discussed in this article for each area of your system, you should be able to make an informed choice.

About the author

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!