This is a guest post by Nishi Grover Garg.
Reduced awareness or unintended ignorance of certain aspects can lead to inattentional blindness, or the failure to notice something that should have been visible because our attention was engaged elsewhere. As a human psychological concept, inattentional blindness also plagues testers and their mindset when testing. Let’s look at some steps we can take to overcome this challenge and avoid blind spots in our testing work.
It is a natural response of our brain to avoid getting overloaded with information. It automatically focuses on information that is most important while avoiding unnecessary details and noise.
In many situations, this manifests in our focus on the task at hand and its context so much that we neglect surrounding details. This is true for day-to-day activities like bumping into a pillar while looking at our phones, failing to see a swerving car when watching the road ahead… or not noticing a takeaway coffee cup in the middle of a popular television show set in ancient times!
The same applies to testing too. How many times have we encountered a defect later in the life cycle that we completely missed in the beginning, when we were highly focused on only a certain feature?
Let’s say you are browsing through a website with the intention of looking at the layouts that must match provided mockups. While you are doing that, you may miss the following:
- The homepage of the website has an older logo of the company that should have been replaced by the newer version.
- The login box has username and password fields but the login button is missing.
- The URL structure of the website is all wonky and the individual page URLs are not named correctly.
These are major problems and would ordinarily be fairly obvious to notice. But they are easily missed due to our singular focus, or target fixation.
Testers often execute tests that have defined steps and expected results, so we frequently overlook anything that is not defined and only check for the results we’re looking for. The tester’s mind is attuned to looking for specified errors, while other information or defects may tend to get missed, even though they may be right in front of our eyes.
Pick up any passed test case and try to re-execute it, but this time keep an open eye and an open mind for any new information surrounding the test. More often than not, you will find that many more defects, risk areas or questions can be found in the same area, despite the test having passed.
This shows that the tester’s brain gets attuned to working with predefined scripted tests, so we can get tunnel vision and only look for the things specified in the test case. There may be more than a few defects that you missed in “passing” tests due to inattentional blindness.
Overcoming Inattentional Blindness
This psychological concept poses a challenge to software testers. We need to constantly look for ways to overcome our inattentional blindness by exercising our brains and our tests in different ways. Here are some ways we can try to remain perceptive and observant.
Practice Pair Testing
Since two people’s brains and thinking are bound to be different at some level, practicing pair testing can be the easiest way to overcome inattentional blindness. One person can point out what the other missed and they can discuss needed details, better test ideas and defects found. It can even prove to be a good learning exercise.
Switch It Up
You can also try switching up the common allocated areas among testers to have others look at your tested features while you check out theirs. This becomes a healthy review practice while also giving your brain different stimuli — and giving the feature a new set of eyes.
Plan for Exploration
Even though you may have executed all planned test cases and automated scripts on a feature, you should plan for exploration by setting a fixed amount of time to go through the system in an unscripted manner. This makes you look at things you may have not noticed earlier and brings out your creativity!
Form Cross-Functional Teams
People who are not testers may have a different approach and mindset for looking at the software. Since they are not exposed to the test ideas and are not bound by following a script or test cases, they may encounter and observe different things. Having different stakeholders participate in testing and share their views, opinions, and observations for the features being tested can be a real eye-opener for testers.
Prioritize Cultural Diversity
Since people from the same culture or ethnicity may have the same perceptions and mental blocks, it can greatly benefit a testing team to have some cultural diversity. Whether it’s by hiring diversely, by asking beta test groups to help gauge the product, or by having offshore teams perform basic acceptance tests, getting some diverse eyes on your software can help encourage openness and empathy in testers’ minds.
Have Better Communication
The need for good communication in a tester’s life can never be stressed enough. Testers have to constantly engage with developers, business analysts, product owners, and user representatives to get their sides of each feature and user story. They must also analyze every missed issue reported in production to see what aspects they might be missing and how to improve their attention to that area. Consequently, better communication helps testers fill in any gaps in understanding and ultimately creates a more robust product.
Inattentional blindness is a natural mental block all humans experience. But by being cognizant of this phenomenon and taking some measures to counteract it, testers can strive to reduce any blind spots in their testing work.
Nishi is a corporate trainer, an agile enthusiast and a tester at heart! With 11+ years of industry experience, she currently works with Sahi Pro as an Evangelist and Trainings Head. She is passionate about training, organizing testing community events and meetups, and has been a speaker at numerous testing events and conferences. Check out her blog where she writes about the latest topics in Agile and Testing domains.