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.
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 aeroplanes 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 crashes were caused by a series of human errors in piloting.
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. Most human errors can be prevented by skilful use of checklists.
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 awesome book “The Checklist Manifesto”. He successfully applied the ideas in clinical environments and has saved thousands of lives in the process.
What strikes me is the simplicity of the ideas behind checklists. We testers have utilized checklists 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 dull cook book. These “read-do” checklists rarely produce results we desire the most.
To me one of the main results of testing is new relevant information about the product at hand. The information 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 classical read-do recipes is one of the biggest pitfalls we testers fall into.
What Atul Gawande suggested in his book is that clever construction of “do-confirm” -checklists would be the way to go in every industry. This kind of a checklist is a tool not to forget anything important. Its not a guide on how to run a test, but a 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. And that freedom is the ultimate source of new information, business critical bug discoveries and even mental health of our line of duty. Checklists for testing can help you improve your overall testing.
Which way would you rather choose?