As published in Tea-time with Testers
Many words, articles, and books have been written about Exploratory Testing: definitions, ways of implementation, examples and more. However, I am not sure that someone tried to define or recommend the mental state which we should adopt when we perform these tests.
To this end, I would like to introduce a form of meditation that comes originally from Buddhism, and is called "Mindfulness". This psychological condition also can be applied not only on dedicated time but also while we experience life in both the professional and personal paths.
I know that we are part of the technological world, and here I am bringing a doctrine dating back thousands of years. Well, the world may have changed, but humans - not yet.
What is Mindfulness?
Mindfulness is consciously paying attention to the present. It is to be with yourself (thoughts, actions, emotions, physical sensations) in a non-judgmental manner. Be tended with what is happening now, with this special moment.
For example, when we talk with someone in a mindfulness state, we listen to what he says, his words choosing, his body language (even if his/her words are harsh). We are aware of what is happening during the conversation, how that influence us.
Why is this important?
Our focus at present is reinforced when putting the future concerns or fears from the past to the present. But we can find it easier when we are able to separate the experience of its jurisdiction and hence to make smarter decisions.
How to enter this State?
We observe. We suspend judgment and response. Just be in the moment, let only to your awareness to work, not to your thoughts.
If something like sounds or thoughts, related or not, try to disturb us, we will be aware of it and gently return to the situation of mindfulness. We need to remain in full awareness to get the most out of this experience.
We will be open to data from the senses.
We describe what is happening sharply and without a mixture of interpretation.
We participate in the present when we do not bring other emotional baggage. We will exhaust the experience to the fullest.
To describe the process more precisely, and in an easy to remember manner, I found this acronym:
Stop. Something happens that you want to deeply understand? Did you flood with emotions? Stop for a moment before acting or even interpreting the incidence.
Take a breath. Inhale and exhale: concentrate on the aspiration of air that is filling our lungs, on the exhaling.
Observe your experience. Describe what happened in a factual form, describe the feelings, the thoughts.
Proceed. Proceed with the insights you received.
But what does the mindfulness have to do with Exploratory Testing?
Let’s say we have a product ready to be explored, environment set, and understanding of the product. We wrote the charter for testing or deciding what kind of testing we will do, what we will focus on and so forth. In short, can we start?
Not before we confirm that we have this psychological platform. Exploratory Testing is an activity that -we always knew- requires the full resources of the tester, his full commitment. Eventually, the tester needs to learn about the software, plan the next test steps and conduct the testing, all the same activity. Unlike scripted testing, where you can stop almost anywhere, prepare coffee and return to the next step, here the tester should be at her or his peak concentration to succeed.
To achieve this, I suggest using Mindfulness.
This basically means we are entering a situation where we are consciously paying attention to the present, it is to be with yourself (in your thoughts, actions, emotions, physical sensations) and the product in a non-judgmental manner. Be present in the fullness with what is happening now, with this special moment. We will not accept to interfere with our random thoughts or concerns. We do not bring old feelings to the process ("there is no way it will work this time", "this has not been defined, AGAIN", "the developer irritates me"). We'll have no concerns about the future ("will they appreciate my work?" "Will the product be successful?"). Just allow your awareness to interact with the product, test it, see it, explore it, get insights about it. You should also during operation describe the flow, steps you performed, you can register the feelings you experienced (but as outer experience, not to give to these feeling).
Awareness relates directly to the experience without the mediation of thinking. There is no difference between inner and outer, between the examiner and examinee, between being and doing. The ego is not experiencing with what happens. It is to notice and at the same time be aware of what happens in a nonconceptual manner.
At any point during the tests, especially after the completion of testing of the hypothesis we made during the test, you can (and should) stop. Take a few breath of air, observe and describe what we did and how the program is responding, now you can think where we go next and continue the process: take what we experienced in the previous steps, directing the continued testing.
We might be disturbed during the tests (although it is better to pre-arrange a quiet surrounding, always something unexpected might crop up). Maybe other concern might raise, perhaps even good memories. We must always be mindful, and when that happens, do not be angry at ourselves, but to move these distractions aside.
While the actions we perform, we are mindful, not thinking. We are very aware of what is happening, we perform the steps we planned, we perceive with their senses what is happening in front of us, the behavior of the software. We note what we felt but as mere onlookers, without identifying with the emotions at this time. Stop, describe (to ourselves or in writing), plan and continue. Mind you that in any case, we don’t really “Plan, test and learn” at the exact same time, but rather in the same activity.
Stuck without ideas, something happens that is not clear, or something is clear but we do not understand how we got there, and other similar situations, we will remain in control and not subdue to anger, or by concerns that perhaps we do not understand what is happening or perhaps we are not good enough. We will not run the developer. We will just stop, breath; we will describe what happened, and we'll try and calm and in awareness try to figure the sources of the problem, consider the requirements, what we know about the product, the technology, and then we try to understand the source of what we saw. Did we not find it? Well okay, we'll list it and investigate later.
By the way, you can implement this change even when the manager tells us something that sounds abusive, or when your child does something that seems to us as offensive. Do not give ourselves up to our emotions. Stop, breathe, describe what happened, try to understand what is said or done, think about the reasons why that happened and how to act, and continue.
Now, after reading, I hope this has given you some understanding on the subject of mindfulness. This is the best way I know to carry out such tests, and maybe also the way to treat the world. In addition, I hope it will give you the motivation to read more about mindfulness.
But most importantly, try the above in the next tests you are going to perform!