A lot of bits have traveled under the Internet bridge since Michael Bolton’s Testing vs Checking in 2009:
- Checking is something that we do with the motivation of confirming existing beliefs. Checking is a process of confirmation, verification, and validation.
- Testing is something that we do with the motivation of finding new information. Testing is a process of exploration, discovery, investigation, and learning.
Revisiting it again and again it dawns on me(1)… It’s not “versus“- It’s not “either or” - It’s “not one over the other” – It’s not “merely” either – it’s about testing and checking. Both on the same time – but yet using different words, helps us find a better understanding of what we do. The Rapid Software Testing course material pages 59-67 illustrates this in details (3):
We can look into scripts/checking as being task performing ”arrows”: an hypothesis is established and sought to be confirmed. Value seeking happens all through the checking process – you think and react based on the evidence found. (2)
We can look into exploration/testing as being value seeking “cycles”: an exploration acts on it’s own – but still consists of smaller sequential tasks being performed. (2)
You apply both your left and right side of the brain – you check and test – you do tasks and seek value – you apply routinized and bespoke activities. You can use the distinction to guide you to a context-driven testing approach. Read also Exploring Uncertainty for a good discussion on how Checking is Not Evil and how to illustrate what is Not Checking.
In 2013 Michael Bolton and James Bach refined the definition of checking:
[ TESTING AND CHECKING REFINED | March 26th, 2013 ]
Checking is the process of making evaluations by applying algorithmic decision rules to specific observations of a product.
From that, we have identified three kinds of checking:
Human checking is an attempted checking process wherein humans collect the observations and apply the rules without the mediation of tools.
Machine checking is a checking process wherein tools collect the observations and apply the rules without the mediation of humans.
Human/machine checking is an attempted checking process wherein both humans and tools interact to collect the observations and apply the rules.
_ _ _
1 with guiding from both James B & Michael B. Thanks!
2 with specific permission from James Bach.
3 also referenced in So Everything Must Be Tested?


Five Blogs – 4 April 2012 « 5blogs
Apr 04, 2012 @ 09:58:23
Apr 17, 2012 @ 22:54:35
Apr 30, 2012 @ 23:38:52
Jun 10, 2012 @ 22:44:56
Sep 24, 2012 @ 22:37:13
Oct 07, 2012 @ 00:59:02
Oct 08, 2012 @ 22:19:16
Feb 04, 2013 @ 21:52:19
Trackback: http://www.ministryoftesting.com/2012/07/mindmaptesting-and-checking/
Feb 13, 2013 @ 22:31:28
Feb 14, 2013 @ 14:25:51
Thanks for the post.
I liked the way it was differentiated.
Looking ahead to read more…
Mar 05, 2013 @ 22:14:51
Mar 31, 2013 @ 21:58:14
Versus != Opposite. Checking is still a part of testing
http://www.developsense.com/blog/2013/03/versus-opposite/