“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.
I really liked reading this. Thanks.
ReplyDeleteMore testers should learn how to explain their craft this way.