Tuesday, September 11, 2007

Inattentional Blindness ...

Sajjad has an interesting article on "inattentional blindness" and Exploratory Testing here

Sajjd mentions that - "Exploratory testing is supposed to be better at minimizing inattentional blindness". This kicks off a thread of thinking in my mind - Why it might be so? what elements in ET helps one to minimize inattentional blindness?"

Let me take a guess and answer --
May be it is "thinking between alternating polarities" while doing ET - doing vs explaining, fast vs slow, reading vs doing, focussing vs defocussing. In my opinion inattentional blindness happens due to "heavy" focus on one or more "atomic" aspects of bigger object under observation. one possible solution is to defocus as often as you can.

A related phrase (a kind of antonym) I use is "your eyes will see what you would like to see". This is more dominant theme in scripted testing where a tester is "pre-programmed" observe only expected results.

Here is a wikipedia page http://en.wikipedia.org/wiki/Inattentional_blindness

Do not forget to read James Bach's comments for this post -

"Testing is a lot like fishing. You try to create conditions that maximize your chances for catching something tasty. Exploratory testing is a little more like fishing, because just as with real life fishermen ......"



Cem Kaner said...

We don't fully understand inattentional blindness, so it is hard to say with certainty that X will prevent inattentional blindness, or mitigate it, without research.

I did some limited research on this at WordStar (comparing bug-finding performance of people who were attempting to follow a script and others who were treating the script as a list of test ideas). To my astonishment (back in 1983-84, I thought scripting was a best practice) the people who explored found about 3 times as many bugs in the same parts of the same program, under the guidance of the same test scripts.

Some of the bugs that were missed seemed very obvious. How could the tester have missed them? I interviewed people (well, I chatted with them. This was not formal research.) The impression that I gained was that people were so focused on the expected results in the scripts that they didn't notice the other misbehaviors in the code. (Some day, I'd like to replicate this in a controlled set of experiments.)

This was my first encounter with what I now think was an example of inattentional blindness in software testing.

The way that psychologists demonstrate inattentional blindness in the lab (or the classroom) is by giving the observers a task that will draw their attention, a difficult enough task that the observers have to pay significant attention to it. As the observer does the task she has been told to do, the psychologist creates additional events that would be obvious to someone just watching but that seem invisible to the observer even though they are happening in front of her eyes.

When you follow a script, you are doing what you are told to do. You read the script carefully, you follow its instructions, you watch the screen for what the script tells you to look for, and you mark the script to indicate that you conducted the test and the program passed (or failed). If you can't follow the steps or if you don't see what you expect, you investigate further. But if you can follow the steps and what happens matches your expectation, you pass the test even if dancing green elephants bounced across the screen. (There are demonstrations of inattentional blindness that are just this obvious.)

The really serious problem with scripted testing is that you don't just follow the steps once. You follow the same steps every time (and probably miss the elephants each time). What looks like a strength of the approach--exact repetition of the same tests for every build looks scientific to many people--turns out to be one of its critical weaknesses.

I think that people break out of the scope of inattentional blindness when they vary what they do and what they pay attention to and give themselves the opportunity to watch what is happening without trying to read a script and do the script and mark up the script at the same time. I think that the intentional contrast between focusing and defocusing that you draw is one way to characterize a strategy that should mitigate this problem.

Debasis Pradhan said...

Nice one Shrini!

Inattentional Blindness is something, which many testers suffer from without ever realizing it! I had posted an article on this topic a couple of months before. Hope you would like it. Inattentional Blindness and Testers

Software Testing Zone