Why do developers create software bugs, and why do testers fail to find them? Is the best way to improve the quality of our software to redouble our current testing efforts, or is there another approach?
Current models for software testing focus effort at the end point of the process, attempting to discover defects after they have been created.
This paper advocates an alternative approach, focusing effort where a defect starts life. It examines how thought processes lead to defects. It shows how some thought patterns, termed cognitive biases, are responsible for many of the defects we see. Finally, it explores how we can reduce our vulnerability to cognitive biases through de-biasing techniques.
- Software defects start life as errors in our minds, but we never look for them there
- Many of these errors are predictable, caused by cognitive biases
- We can reduce cognitive biases. Hence we can reduce defects