Testing does it backwards.
Have you ever really stopped to consider flying? I was afraid of it when I was little. It might have something to do with it, that my grandmother is still terrified to death even though she is soon 90 years old.
The curious thing is that I became a software engineer and flying is an integral part of the job. Due to the initial fright of flight, I became obsessed by airplanes and the airline industry at an early age. Now I feel an incredible joy every time the plane takes off.
Flying has become one of the safest industries on earth, but this wasn’t always the case. Boeing started to investigate the reasons behind fatal flight accidents in 1935. U.S. Army Air Corps’ Chief of Flight Testing Pete Hill had to die in crash with his crew. It turned out that most of the accidents are a result of a series of human errors.
Major Hill was the most experienced and skilled pilot in the U.S. Army, so the investigators decided that more training or experience is not the solution. What the team found out was painfully simple.
Skilful use of checklists can prevent most human errors.
This one simple idea has been fully integrated throughout the flight industry today and is said to be one of the most important reasons the safety is at the peak. A surgeon and a writer Atul Gawande explored the ideas even further in his remarkable book “The Checklist Manifesto.” He successfully applied the concepts in clinical environments and saved thousands of lives in the process.
What strikes me is the simplicity of the ideas behind checklists. We testers have utilized lists for ages in the form of classical test cases for example. The only problem is that the checklists we use are mainly recipes for trying to produce repeatable results. Much like in a lousy cook book. These “read-do” checklists rarely produce results we desire the most.
To me, one of the leading results of testing is new relevant information about the product at hand. The data comes in the shape of bug reports for example. The more information we can produce in given time, the better the efficiency. Designing, running and re-running these traditional read-do recipes is one of the biggest pitfalls for testers.
What Atul Gawande suggested in his book is that smart construction of “do-confirm” -checklists would be the way to go in every industry. This kind of a list is a tool not to forget anything important. It’s not a guide on how to run a test, but a reminder of what we want to get covered in the end.
This shift of testing consciousness is a critical factor that eventually gives testers more freedom to explore. It is the ultimate source of new information, business-critical bug discoveries and even mental health in our line of duty.