“Science is the organized skepticism in the reliability of expert opinion.” Richard Feynman
The reason for this article is based upon a recent twitter conversation regarding how someone sometimes avoids skepticism due to its negative nature. I fully understand what they mean when skepticism is used in way to attack a person or their character (ad-hominem argument). The purpose of this article is to provide information about how useful having a healthy dose of skepticism is for those involved in software testing.
Many people have a belief that the purpose of testing is to prove that the software works as expected. This is really a fallacy since testing cannot prove that the software will always work the way you expect. There is always an element of doubt in proving that it works due to the nature of software and how it is used. This is the same as in the field of scientific research where someone comes up with a theory based upon their experiments and then their peers using a fair bit of skepticism try to prove the theory wrong. This is the crux of any scientific based research method. It is not about producing your theory it is about applying critical thinking to your theory as to why it can be wrong. Testing software is similar in its approach it is very difficult to inform someone, who matters that the software is working. We can provide useful information about its behavior and what it actually doing.
As a tester you need to apply critical thinking to your testing and to the evidence you produce. This is where being able to look at what you are doing and what information you find will a fair degree of skeptical thought. The scientific method is a useful skeptic tool to apply to your testing and to any other information that people provide to you as ‘fact’. One approach is the use of FiLCHers:
If you look at each of these headings you can see that it is about trying to find evidence where your theory and experiment could be wrong, acting as a skeptic.
This is a vital skill for testers to possess to ensure that their testing is unbiased and factually correct. If you feel the skeptic is lacking then look at ways you can improve it.
Here are some suggestions to help you become a better skeptic:
- Learn about logical arguments and fallacies
- This page has a substantial list of them - http://changingminds.org/disciplines/argument/fallacies/fallacies_alpha.htm
- This book is a wonderful illustrated book proving examples of fallacies and bad arguments - http://www.amazon.co.uk/Illustrated-Book-Bad-Arguments/dp/1615192255/
- Practice using skepticism – apply it to your work and the work of others.
- Use James Bach’s’ , Huh, Really, So technique - http://itknowledgeexchange.techtarget.com/software-quality/james-bach-on-critical-thinking-huh-really-so/
- Use reflection to help improve your skeptic skills.
- See my previous post on reflection - http://www.steveo1967.blogspot.com/2015/10/testing-skills-7-reflection.html
If you have some suggestions of your own to help others in their journey to being a great skeptic please let me know by using the comments section.