Enterprise infographic illustrating measurable, testable, and verifiable software requirements. The image contrasts a vague requirement with a measurable one, showing objective acceptance criteria, requirement verification, test results, and quality metrics to emphasize that successful requirements produce evidence rather than assumptions.
, , ,

If You Can’t Test It, It Isn’t a Requirement

Enterprise Requirements Series — Article 8

This article explains why testability is one of the defining characteristics of a good software requirement. It shows how subjective language creates unverifiable expectations and why requirements must include measurable acceptance criteria. The article positions testing as an activity that begins during requirements engineering, not after development, and explains how verifiable requirements protect stakeholders, developers, testers, and auditors.

Building Better Software by Engineering Better Decisions

One sentence appears in requirements documents more often than it should:

The system shall be user-friendly.

It sounds reasonable.

It also raises an obvious question.

How will anyone prove it?

Requirements are not wishes.

They are statements of expected behavior that must be verified before software can be accepted.

If no one can determine objectively whether a requirement has been satisfied, it is not yet a requirement.

It is an expectation.

There is an important difference.

Good Requirements Come with Evidence

Imagine reading the following requirement:

The application shall process transactions quickly.

Now imagine asking three people whether the finished system satisfies that requirement.

A business executive says yes.

A developer says yes.

A customer says no.

Who is correct?

Without measurable criteria, no one knows.

The requirement failed because it never defined success.

A better requirement might state:

The application shall process 95 percent of customer transactions within two seconds under normal operating conditions.

Now testing becomes possible.

Acceptance becomes objective.

Disagreements become evidence-based instead of opinion-based.

Subjective Words Create Objective Problems

One of the quickest ways to identify weak requirements is to search for subjective language.

Examples include:

  • Easy
  • Fast
  • Reliable
  • Secure
  • Efficient
  • Flexible
  • Adequate
  • User-friendly
  • Simple
  • Robust

None of these words are inherently wrong.

They are simply incomplete.

Each requires measurable context.

Fast compared to what?

Secure against which threats?

Reliable under which conditions?

Simple for which users?

Requirements become stronger as opinions are replaced with measurable expectations.

Testing Begins During Requirements Engineering

Many organizations think testing begins after development.

Effective organizations know it begins much earlier.

One of the best questions a business analyst can ask during requirements discovery is:

“How will we test this?”

If stakeholders cannot answer that question, the requirement probably needs additional refinement.

Designing acceptance criteria while writing requirements exposes ambiguity before developers encounter it.

That saves both time and money.

Verification Is More Than Functional Testing

Many teams associate verification with software testing.

Verification actually occurs in several ways.

A requirement may be verified through:

  • Inspection
  • Demonstration
  • Analysis
  • Functional testing
  • Performance testing
  • Security testing
  • Disaster recovery testing
  • Compliance validation
  • User acceptance testing

The verification method should be considered while the requirement is being written—not after the software has been built.

Requirements Should Define Acceptance

Imagine purchasing a bridge without knowing how much weight it should support.

Or buying a vehicle without defining acceptable fuel efficiency.

No engineer would begin construction without objective acceptance criteria.

Software engineering should be no different.

Every requirement should clearly communicate what constitutes success.

Acceptance criteria eliminate uncertainty.

They provide developers with implementation targets.

They provide testers with validation criteria.

They provide business stakeholders with confidence that the delivered solution satisfies the original need.

Every Requirement Should Answer Three Questions

Before approving a requirement, ask:

Can it be measured?

Can it be tested?

Can it be verified independently?

If the answer to any of those questions is no, the requirement probably requires additional work.

This simple review prevents countless downstream problems.

Requirements Verification Protects Everyone

Clear acceptance criteria benefit every participant in the project.

Business leaders know what they are approving.

Architects understand the constraints.

Developers know what must be implemented.

Testers know what evidence must be collected.

Auditors know what compliance looks like.

Project managers know when work is complete.

Requirements become objective contracts instead of subjective conversations.

Verification Creates Confidence

One of the defining characteristics of mature requirements engineering is confidence.

Not confidence based on optimism.

Confidence based on evidence.

When organizations can demonstrate that every requirement has been objectively verified, software delivery becomes far more predictable.

Projects experience fewer surprises.

Acceptance becomes faster.

Disagreements become less emotional.

Most importantly, organizations stop debating whether software works as intended because the evidence already answers the question.

Looking Ahead

Requirements should never force stakeholders to rely on interpretation.

They should produce evidence.

Well-written requirements define not only what software must do, but how everyone will know when it has succeeded.

That is the difference between documenting expectations and engineering outcomes.

Requirements Reality

Every requirement should come with its own proof of success.

Coming Next

Article 9—Requirements Are Contracts Between Business and Technology

Successful software begins with shared understanding. Next, we’ll examine why requirements are more than documentation—they are professional agreements that align business intent with technical execution, establish accountability, and define what success looks like before development begins.