Apart from being the last day of 2011, yesterday was a regular day. I chose to watch Schindler’s List. For me, a typical experience of watching a good meaningful movie includes a follow-up web surfing on the subject, its director(s), actors, related movies etc. Yesterday was no different. I opened the movie’s Wikipedia page which opened the way for a long web surfing session. I went to various websites/wikipedia pages to know more about Schindler and other people who did similar courageous attempts at saving lives. Throughout this session, one common word appeared on all pages – “Nazi” – as all of these had to do something with the Nazi concentration camps.
Here comes the coincidence! During this session of surfing, I got a comment posted on my website titled “Grammar Nazi Correction” about a typo error in a free Python book which I have co-authored with Chetan. (I came to know about this via the notification email). Another thing that came to my mind was that in the past 2-3 days I have got this suggestion from atleast 5 different individuals although the book was released about an year back. This in turn made me recall a SPAM comment which had happened a couple of years back when someone copy pasted one of the genuine comments (by Ajay Balamurugadas ) on my website – an attempt at manipulating the default wordpress setting that once an email is trusted, it can be used to post anything without moderation.
What was my reaction? The precise use of the word “Nazi” in my current web browser session ruled out blind spamming. I became worried. This can happen only if either some malware local to my computer is doing so or someone sniffing the traffic is playing a prank.
I didn’t think at all beyond this yesterday. Today when I woke up, out of interest, I picked up this thread again for investigation. I opened up a new browser tab to validate the address mentioned in the signature ( we must never click the links directly in the email, if suspicious ). It was good. How does it matter?; a malware/prankster could still use a genuine address. Till this point, I was still not focusing on the title itself. I was so biased about not looking at it! Almost unwillingly, I did a google search for the phrase “Grammar Nazi Correction” and I could have kicked myself, if only I were able to manage to do so. Following is one of the definitions I found about “grammar nazis”:
Grammar Nazi: an elitist who gets off on correcting others’ grammar and spelling because it makes him feel superior.
The person who sent the comment was being polite while sending a suggestion for grammatical correction and I, instead of appreciating that, labeled him as malware!
I was amazed to see how coincidence can create a strange bias about investigating what we observe. Club it with some past experience and you get a recipe for failure.
In testing, we are taught to observe the software behavior while we are interacting with it. One lesson which I learnt from this experience is:
Treat every observation as a coincidence with respect to your actions. Then rule out the coincidence with careful investigation.
In simple words,
Do not assume that all software behavior that you sense is a result of your actions.
My first natural reaction to an event in the object I am interacting with is to associate that event with my own actions. Almost every time, I spend more energy in proving the same to myself rather than an unbiased investigation where the starting point is dis-associating the actions from the observations and then relating them if found so. It is also important to learn why that event got triggered if not my actions.
Many problems do not get reported because the tester is not able to see the problem again as s/he is trying to reproduce it based on his/her actions. On the other side, some problems get reported but are never reproduced based on the actions provided. Going by the above argument on coincidence, there is a big possibility that the problem being reported was not an outcome of the actions mentioned in “steps to reproduce”. There were other reasons which could be totally unrelated to the actions. It could have something to be do with an event in operating system, other softwares installed, a batch process in software under test, a trigger in the database because some other event, which could have happened irrespective of what your actions were .
That’s what I had to discuss about coincidence as of now.
As a side note, and a lighter one, it’s important to understand whether the recipient knows about the phrases that we use. One of my friends ate less, thinking he has to pay for food and beverages when the waitress of airline lounge answered ‘no’ to his question – ‘Is everything on the house?’. Of course he had certain assumptions about waitress’s English and he paid for it (well, not literally:-)). Another example. Indians are known to translate the phrases, sayings ( Hindi: kahavat/ muhavare) to English ( or other language of communication ). E.g. “haath khade kar dena”, literally: to lift one’s hands, meaning – “to refuse to do something when one was being expected to do it, esp at a critical point. I’ve seen not just once or one person, using the phrase “s/he lifted his/her hands” while communicating in English even to non-Indian counter-parts ( who have probably become so used to it, that they just nod their head in response rather than breaking their head to understand the meaning ). When we use words to say more than what they literally mean, we must consider the cultural and language aspects of the receiver(s).
Thanks to Jen Heilemann, who posted that comment which led me to writing the first blog post of 2012.
Happy New Year!
Hi Rahul,
Good narration. I seem to be a Grammar Nazi too, having sent 3 emails on similar topics.
What a co-incidence 😉
Regards,
Pari
Hi Parimala,
I’m imagining if even you had sent an email with a similar title during the same session :-).
I had a follow up discussion on this subject and he was able to relate some of the heap crashes that were recently reported as coincidences w.r.t. steps to reproduce – the attached crash dumps were the only critical help got.
Regards,
Rahul
Rahul,
This post is deeper than what it might initially appear to some. What you are describing here is something that goes at multiple levels –
1. Do we take coincidences as deliberate, well-thought out conspiracies, omens and acts? What impact does this thinking have on my next set of actions?
2. How do we change our models or create models on that basis. Specifically for testing – does it make me test in a particular way or not test in a particular way?
3. What patterns do I figure out in just some random events and consequently how does it impact my analysis?
4. Are we able to observe somethings as connected because we became aware of something first and then started noticing other related or similar things? In other words – is it a coincidence that you come across a word/thought/technique and then you begin to see it repeating again and again or it is it just a coincidence that things happen together?
Vipul
@Vipul,
Thanks for stopping by and sharing your thoughts.
A thought related to your last point is the “23 enigma” – http://en.wikipedia.org/wiki/23_enigma which says “most incidents and events are directly connected to the number 23, some modification of the number 23, or a number related to the number 23.” There is a Jim Carrey movie (The Number 23) based on this concept and there was a beautiful analysis of coincidence and how, when we are conscious about a pattern, we start noticing that pattern around us and start believing more and more in that.
It has happened to me in the past where I thought number 9 is lucky for me. So, any number which adds to 9 was “lucky”. We can call it a coincidence that I was born in the 9th month, in an year that sums to 9, the birth dates of my wife (and all previous encounters :-)) sum to 9, same is the case for my CET role number, my best friend’s birthday, my nephew’s birthday, infact three of them share the exactly same birth date – day and month. Crazy stuff, isn’t it? Where are those hundreds of patterns which were all around me, that I safely ignored in the interest of noticing number 9. But then from coincidence perspective, especially in terms of birth dates, the number 9 is so common for the people around me that I couldn’t ignore.
Coming back to testing, I found this worth writing about because in exploratory testing, we proceed further based on what we observe and if what we have observed is a result of coincidence, it’s important to understand that before proceeding further.
Nice Post.Thanks for valuable thoughts.