Being a part of Aviation industry and also due to my interest in flying, I follow news & views on aviation. One of my favorite blogs is Jeff Wise’s blog. In one of the blog posts ( http://jeffwise.net/2011/09/20/how-gps-makes-clueless-drivers/), he wrote:
Pilots have a word for the state of presence in the world around you; they call it situational awareness. “Keep your eyes out of the cockpit,” my flight instructor always used to tell me. Meaning: look at the world around you. Don’t get fixated on what your instruments are telling you. Understand the context of what you’re seeing. Situational awareness means understanding where things are in relation to one another. It means knowing what’s going on, and what you can do when your plans start to unravel.
When I read above paragraph in software testing perspective, I was amazed to see how perfectly it fits in for most of our testing projects. My common complaint about testers has been that we do not make ourselves aware of the context. We want to look at the requirement document, prepare test scenarios & test cases based on those and complete test execution based on a schedule provided by the Project Manager or Test Manager, whichever the case may be. It is very easy to lose focus when some delivery pressure comes in the project life cycle. Product managers want the product out of door as soon as possible whether or not there are defects or not.
Testers are not pilots, they are not passengers either. They are an integral part of the whole system that ensures aircraft fly and stay in air. They are like co-pilots who support Captain (The Project Manager) in the successful journey of the airplane. If testers are aware of their surroundings, it would be much easier for them to define and decide what and how much needs to be tested. The situational awareness helps testing teams to devise test cases that are fit-for-purpose. It helps them prepare for the unknown. If testers are aware of where the projct is going, it would be much easier for them to either test rigorously or just to focus on key tests. Or, whether to use exploratory testing or perform risk based testing.
Situational Awareness is not about test planning or test execution only either. It is about understanding the project, product and the dynamics around the team as well. Testing is quite interconnected with almost all other project activities. I asked a Test Lead about his vision and mission of testing and he said that his primary focus is to find the gaps between requirements and application (product). That also meant that anything other than that was not his job. In my view, testers should adopt a broader view and should have a holistic view of the product development.
PS: Jeff Wise has been my senior in terms of the airline we both worked for. He is a pilot and an ardent writer on aviation, psychology and adventure.