Exploratory state of mind


Exploratory testing is like agile methodology or unicorns – they’re fashionable, everybody talks about them, but no one actually had seen them.


Let’s start from a little confession – for me – exploratory testing is finally a way to get to the basic of what a software testing is. The pure activity of testing and a joy that comes out of it, without rules and limitations.
You could argue with me now

– Come on ! – exploratory testing without limitations? What about time boxing? What about time frames? What about plan?

Calm down –  I don’t neglect all of that. You can breathe now 🙂

I just wanted to say that exploratory is your state of mind. For some mysterious reason
I found exploratory a way of braking things from scratch. Am I an expert? No. Should I be one to preach you? Sort of… maybe 🙂 Does exploratory work for me? SURE – it does – that’s why I want to share it with you.

Discovering James Bach

Back to square one. James Bach is your must, if you wanted to play with exploratory testing. His famous lecture (from 2011!!!) would give you some hints of how to start with exploratory. What I mean by that is not to tear your ISTQB Foundation Certificate apart and throw it out of the window – but to re-think the way you perform testing.
Jamse’s publications, keynotes sessions and the work that he does may destroy your structured thinking about testing like it destroyed mine. And still –  it’s fine.
The problem might exist in the organisation you are working for – so if exploratory suites you – find yourself a good place to play with it. 🙂

Take your shoe off and smash the keyboard

There is a fantastic tester in my organisation – Elisabeth – who loves exploratory testing. During my work interview she explained exploratory testing as taking your shoe off and hitting the keyboard with it. Surprisingly – it says a lot about exploratory way of testing things. If you don’t know the product – and have no idea how does it work, what does it do and how to approach to testing – every method is good. The more you try – the more you learn about the product and its flaws.

Destroying your expensive keyboard may not, obviously, be the best approach to testing (unless you’re testing external hardware) – however – destroying an expensive software before your customer does that – sounds like the activity you’re paid for. 🙂

It may happen that that there would be a developer from your team asking – Why did you do that in the first place? – but it’s the result that matters.

I had this situation last week – I took out my internet cable off my laptop and plugged it in again during the test session. My test affected the functionality and exposed an error that we had. The result was fantastic, because now we know what to fix now – but the face of a developer when I demoed my test in front of him was unforgettable 😉

Note taking

Exploratory testing is fun when we play around certain functionalities, but our memory is sometimes not as fresh as we would like it to be.

That’s why taking notes during each exploratory session is essential. You may want to prepare mind maps or use some software to help you with gathering notes out of your sessions. In order to take notes,  you can use your laptop, phone or any tool you want


I would recommend you to do go old school.

This is a pencil:


This is a notebook:


These are post-its:


Grab them and take your notes like a pro. At first – doing things manually would stimulate your brain – maybe you’ll came up with another crazy idea for testing? Secondly, nothing would drag your attention from testing. There will be just a feature an you.

Note all important thoughts such as:

  • questions
  • bugs (possible bugs)
  • random notes
  • areas to further exploratory
  • any other important stuff.

Taking notes might be extremely useful to reproduce the path to discovered defect. Additionally, you can record your sessions or combine all methods together. Whatever suits you best.

Maaret Pyhäjärvi thought me this one little trick – to put a sticky note on the top of my notebook page with a purpose of my team (or sprint) written down. It acts like an anchor. I’m reminding myself all the time what is my purpose – to avoid sailing away from the functionality that was supposed to be tested in the first place.


Since my beginnings as a software tester – exploratory – for me – was an appendix for regular testing, according to the plan. It appeared here and there, but has never been fully approved by management or team. It is a main theme now and that suits me best.

As Maaret Pyhäjärvi said at SeeTest conference in Sofia – we all do exploratory testing when we play around different functionalities even during regular test plan – based sessions. We just don’t name it.

On the other hand, it feels like everybody does exploratory now, just like everybody is working in Agile. It’s on the internet, during conferences and in the books. And, just like with the methodologies Agile – it comes with different kinds and flavors.
Is it a bad thing this not defined definition? I don’t think so, as long as we find new bugs and expose issues in our software.

Exploratory testing is not a big bang, it has to be structured somehow – and

Testing without a reason and purpose is just a hitting a keyboard with a shoe. Nothing more. I think that it’s all about being a better tester every day, so learn as much as you can about exploratory – read a book Explore it! by Elisabeth Handrickson and dive into it.

Now – every time you see a unicorn – think about exploratory testing 🙂


You can share your discoveries in the area of exploratory testing in comment below – on Twitter or Facebook. See U there!


Cat testing – why not?



Monkey testing

The term ‘monkey testing’ is rather known in tester’s world. It is a technique where a user tests the application or system by providing random inputs. We believe that unorganized test inputs are able to brake the application in the way that a trained tester won’t even try. It is basically true, because people tend to repeat known moves and actions. Pesticide paradox warns testers that they should change and update their test scripts often, otherwise they’ll stop finding issues. From this point of view – acting as a monkey seems to be tempting especially within the area of regression testing – not as a replacement but rather as the appendix to standard test suites.

Cat testing

On the other hand, animal kingdom is way bigger than just an ape type. If a monkey can test – why a cat can’t?

Today is a World Cat Day so this blog post would be related to my buddy – Greebo.

I am a cat-lover and I spend some part of each day observing my cat playing around with stuff. Trying to better my approach to exploratory testing, I just started thinking – isn’t my cat a great example of such tester?

A cat has any knowledge about things they play with. But they play anyway. This is what exploratory testers are supposed to do.
Exploratory way of testing fits to any kind of testing methodology, any type of company and project. You don’t have to be experienced in any subject (as ISTQB would like you to think), because it’s not the point. The most important aim is to play with application and to achieve a purpose.


Exploratory testing might be dedicated to UI, functions or potential safety risks check. It may help to find out if the software is prone to malicious attacks as well as if it is easy to access for a novice user. Context  is the key to success.

Cat checks random features of stuff so hard in order to know them or to brake them, just like exploratory testers do. Cat does a lot of damage in certain sessions in order to provide fun for himself among naps and snacks.


Purpose is important. Cats have their own purposes of running around and attacking things. Exploratory testers should also have some certain purpose of testing and don’t stop before an exploratory session is finished.


Time frame is essential. When you start exploratory session – you can’t stop. Did you see a cat, who digs in a pot with flower when no one watches  and having brakes for pee? NO WAY. He digs so hard until the destruction is complete and then runs away pretending it wasn’t him. That would be a proper session of exploratory testing description. You specify the time frame, start and fight. You can finish only when you run out of your time.

One major thing that is different between a cat and an exploratory tester is that the cats cannot provide any notes 🙂 Note taking is an essential part of exploratory testing.

On the other hand, cats leave so much mess behind that in most cases you know exactly what they just did. Wondering HOW might take a while. That is also a good hint for you – if you hate taking notes – record what you do using for example Chrome DevTools or other apps. In the end it would be easier to recall what you’ve just did.

I would like to encourage you to level up your daily test routine and try to enrich test sessions in cat-like exploratory testing and just have more fun in what you do. Enjoy!