These days I went to a book fair of a well known publishing house, and found there my very own analogy for Exploratory Testing.
I tell the story and analogy below for your pondering and criticism. 🙂

You know how these fairs are, I believe book fairs are similar everywhere: a loft filled with tables filled with books at good prices. You walk around the tables, take the books you like and proceed to checkup.        

I like books, better yet when they are good/useful books, and even more when they’re cheap 🙂 — so I came to the fair prepared! I planned a budget (100 NIS) studied the catalog of discounted books and decided beforehand which books I wanted to buy:

– Book A: 43 NIS
– Book B: 30 NIS
– Book C: 12 NIS
– Book D: 12 NIS
– Book E:  9 NIS
        (106 NIS total)

Book A and B were books that I actually was interested in, and the other 3 I put on the list just because they were cheap :), and were worth considering if they content looked cool.

When I got to the fair, I skimmed over the books and found out that books E and D weren’t that interesting, and that they would probably remain unread, so I dropped them from the list. Book C wasn’t that appealing too, but I left it on my cart meanwhile.

A few minutes later, I noticed that there was a very cool book on a subject that I am already studying — but that one cost 75 NIS!
My list was now over-budget:

– Book A: 43 NIS
– Book B: 30 NIS
– Book C: 12 NIS
– Book F: 75 NIS
  (160 NIS total)

As such, I called my wife, telling that I found other relevant books, but the whole list now exceeded the initial budget we agreed on. She gave me permission to double the budget and to spend up to 200 NIS. Yay!

Just before getting to the check-out teller, I discovered that there was a new volume from a set of books we have, and this was an opportunity to complete the series. Price of this book: 63 NIS.
Adding this one on top of the others would explode the budget again! I really wanted this book, and removing only book C wouldn’t help staying on plan — so I removed book B (a sacrifice for budget’s sake) and then C (not so interesting, anyway).

I went home with three books:

– Book A: 43 NIS
– Book F: 75 NIS
– Book G: 63 NIS
  (181 NIS)

I was happy with the books I took home, so was my wife, and plus: she was pleased that we stayed under the ‘second budget’.
And then it struck me…

All this long and boring description of my adventures at the library has a purpose:The process I did in picking the books is similar to the one I would (like to) do when picking tests. There is a limited budget (of which I am not in charge), there is a limited time, and there is big list of tests that can be done.
I can start with an initial plan of the areas I want to exercise in my tests and it is possible that tests that are ‘easy’ will enter the list just because they aren’t hard, but then I can find that some areas are not worth exercising them too much and will drop those tests (every little test costs, right?).
If noticing an especially interesting bug or reaction requires from me to add too many new tests, I’ll have to inform my superiors and request for more time to properly finish all.
Tests can also redirect your attention to risk areas that you hadn’t planned before, and the whole remaining time will have to be planned again.
And so on, exchanging less effective tests for others that give ‘more bang for the buck’, keeping an eye on the budget and interests of the stakeholders… One explores the software in the search for bugs.      

So, this is my analogy for Exploratory Software Testing.
Many others are available:

But note: this analogy, as every other analogy, doesn’t have exact 1:1 similitude/parallelism!
It is intended as a line-of-thought, to help explaining the process and mindset… to clarify that exploratory testing isn’t a ‘quick, run and do whatever tests you can squeeze in an hour’. 🙂