Testing AND Checking

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):

Rapid Software Testing - Task Performing

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)

Rapid Software Testing - Value seeking - used by permission

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:


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?

20 thoughts on “Testing AND Checking

  1. […] It’s not their job to know ISTQB from “MT Principles” and “RST methodology“. That is up to me, as the manager of the testing. My role is more and more about the guidelines for the testing and the facilitation of the people doing the testing. My reach goes so far as to ask them to think about how the product fails and succeeds. But I cannot expect them to know checking from testing. […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.