Exploratory testing

Exploratory testing is, in my opinion, the best way to find bugs. Let’s imagine to test a simple phone application, an e-commerce. We would have software requirements, all covered by software tests. They would probably run nightly, depending on the test selection. How many bugs do we expect to find while executing just these test cases?

Credit: Kristina Alexanderson on Computer Careers

What is exploratory testing?

We have our phone application to test. All the requirements are already covered and all the tests are passed. However, we know that it is impossible that our software is bug free. The best way to find new bugs is then to run an exploratory testing campaign.

We open the app, we focus on a functionality and start playing around with it. For example, we decide to test the cart. We add and remove items, update the cart, like the final user would do.

Is exploratory testing a planned and controlled activity?

Yes. Definitely. The best way would be to focus on a functionality of the software and to select a test method (for example, stressing the software, or testing the boundaries, or testing against invalid inputs). Moreover, the test engineer should create a protocol, to track the time spent, the method used, the functionality tested and the bugs found. The most interesting scenario and the bugs found, will potentially become new test cases of the main test suite.

Last but not least, do not forget to reserve a timebox, prior to start the activities.

Is it an easy activity?

Well, it depends. It is not as simple as it sounds, because it requires skills that experience test engineers have. It is all about the mindset.

In our daily life we use a lot of software. It can be our cellphone, our car, or even our television nowadays. We should not think just as a user of the software, but we should think as a tester. We should explore the corner cases, the ones that are less likely to happen and that sometimes generate application crashes.

To conclude the article, never ever discard the imporance of the exploratory testing and…