In the world of quality assurance, we often hear these two terms thrown around: testing and checking. Some use them interchangeably. But they are not the same. Testing and checking are two different types of activities. They deserve a distinction.
Let’s break it down.
Testing is a cognitive activity. It’s about learning the product, exploring behaviors, forming hypotheses, asking questions, and making informed inferences. Testing is not just about confirming what you already know; it’s about discovering what you don’t.
📌 Testing:
Has an open-ended purpose: to understand behavior and identify risks
Includes unexpected observations
Relies on human thinking and interpretation of results
May include checks, but is not limited to them
Checking is a process of confirmation, validation, and verification. It is the process of verifying specific facts about the product, algorithmically. Checking is part of testing.
📌 Checking:
Follows a precise algorithm: “If X, then Y”
Can be fully automated
Doesn’t provide a deep understanding, only signals that something matches (or doesn’t match) expectations
It is a part of testing, but not testing in the complete sense
So we can say that
🔸 Testing is a human activity.
🔸 Checking is something a machine can do.
💡 Why is this distinction important?
Understanding the difference between testing and checking is the key to an informed, flexible, and truly effective approach to quality assurance.
If we confuse the two, we might wrongly assume that running automated checks is enough. But bugs often hide outside the expected, and it takes human judgment and exploration to uncover them.
This is precisely why we distinguish between the aspects of the testing process that can be performed by machines and those that require QAs.
Top comments (0)