All posts
Software Testing 21 July 2026 4 views

Checking vs Testing

4,000 automated cases and a green pipeline describe checking. Confirming what you already know and going looking for what nobody has thought of are different jobs — and automation only absorbs one of them.

Introduction

Today we are going to talk about one of the most important distinctions in testing — the difference between Testing and Checking. Most people use the two words as if they mean the same thing. They do not, and the gap between them is where most production incidents live.

Understanding this difference is what turns someone who runs test cases into a professional tester.

What you will learn

By the end of this lesson you will be able to:

  • Explain the real difference between Testing and Checking
  • Know when each one belongs in your process
  • Understand why Testing is human work that cannot be fully automated

What is Checking?

Checking is verification of something you already know.

Broken down:

  • You have an expected result — you know exactly what is supposed to happen
  • You compare Expected vs Actual — did the system produce what the spec said?
  • The steps are fixed — you follow a scenario written in advance
  • It automates completely — a machine does this better than you do

A practical example

Say you want to check login on Facebook:

  1. Go to facebook.com
  2. Enter a valid email: test@example.com
  3. Enter a valid password: Pass123!
  4. Click Login

Expected result: the user is logged in and lands on the News Feed.

That is classic checking — clear, defined, and repeatable a thousand times in exactly the same way. Every element of it was decided before the browser opened.

That is a genuinely useful question to ask. It is also a yes/no question derived from a spec and repeated identically forever, which is the exact profile of work machines are good at. Checking should be automated. A person clicking the same login flow every release is a waste of a person.


What is Testing?

Testing is something else entirely. It is exploration and experimentation.

Its characteristics:

  • You search for the unknown — problems nobody has thought of yet
  • You generate new questions — every answer produces the next question
  • You explore scenarios — you try the cases nobody wrote down
  • It needs a human mind — creativity, intuition and empathy are the tools

The same example — but this time as Testing

Back to the Facebook login, now as an actual tester rather than a checker:

  • What happens if someone attempts login 100 times in one minute? Is there any rate limiting at all?
  • What does the password field do with emoji, with an Arabic keyboard, or with 5,000 characters?
  • What happens if I open ten tabs and submit from all of them at the same moment?
  • How does the page behave on a very slow connection — is the button disabled between the click and the response, or can I submit twice?
  • If I paste the password instead of typing it, does validation still fire?
  • I am logged in on my phone and I change my password on my laptop. What happens to the phone?

See the difference?

  • Checking asks: "does this feature work?"
  • Testing asks: "where does it break, and who gets hurt when it does?"

Notice that none of those questions came from a spec. They came from a person thinking about how the thing could break — and each answer produces new questions. That loop is the actual work.


Why is Testing human work?

Testing needs skills you will not find in a tool or a model:

1. Creativity

The tester invents scenarios nobody wrote down. "What if…?" is a generative act, not a lookup.

2. Empathy

The tester puts themselves in the user's place. They know what will frustrate a real person, because they have been frustrated. A confusing error message is a defect — and no assertion in your suite will flag it.

3. Context

The tester understands the business, the priorities, the goals. They know this bug matters and that one can wait. Severity is a judgement about consequences, not a field in a ticket.

4. Intuition

The experienced tester has a feeling that something is off before they can explain why. That feeling is compressed experience, and it is what makes people look in the right place first.


Lesson summary

What we covered today:

Checking Testing
Verifies the known Explores the unknown
Clear expected result Looking for problems
Fixed steps Open questions
Fully automatable Needs a human mind
"Does it work?" "Where does it break?"
Output: pass or fail Output: new information

The most important point:

Checking matters and you must do it — preferably automated. But Testing is the real work of a professional tester. It is what separates you from an automation tool or an AI agent.

Your job is not to "run test cases." Your job is to explore, think, ask, and protect users from the problems that are coming.

Try this before the next lesson

Take a feature your suite already covers and is green on. Give yourself thirty minutes with no script and one rule: you are not allowed to repeat anything the suite already does.

Write down what you find. In my experience it is almost never nothing.

Built with by Hatem's AI Agents