January 6, 2017

A Tester's Experience of Exploratory Testing

Why Exploratory Testing?

Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution. It is about exploring the software in a structured manner, and finding out what it does and doesn’t do. The basic principle is “What happens when I do this?” and finding the unexpected.  It is a useful approach where time is of the essence and it is important you set a timeframe set and you have also identified when testing is sufficient.

Candidate for Exploratory Testing

In this case it was an existing work request system that was acquired for the maintenance of machinery as acquired by a company in the oil and gas industry.  The system contained the details of the machinery, parts and maintenance history so it made sense to redesign where necessary to meet the requirements of the new business.  One of the main areas for redesign was the format of the tabbing order of the fields on all the screens.

It was obvious at an early stage that the design was incoherent and using exploratory testing we were able to highlight how this should change using a logical flow as you would expect on a well designed website that provides the ability to complete an application or booking form.  It was also necessary to determine changes needed to mandatory/non mandatory fields and also where a specific value had to be entered i.e. where a drop down list would function better than a free text box.  



Although this approach removes the need for detailed scripts the testing was documented at a high level to ensure the required coverage was obtained.  It was also done in conjunction with some information from the end users of the system as any changes made that didn’t meet the requirements would defeat the purpose of using this approach.


Exploratory testing’s focus on structured learning and adaptability enabled the testers to gain good knowledge of the application in a short timeframe.  It also provided early identification of defects which enabled the developers to get the design right, resulting in the deployment of a system that was fit for purpose and fewer defects found in UAT.


By Elaine Wilmot, Test Manager, Edge Testing