Testing Heuristics

Date:

The Silent Impact Heuristic

A testing heuristic for shared codebases and incomplete information


Why this heuristic exists

In a microservice setup where multiple projects share the same codebase, testing scope is often defined by what changes are communicated. This creates a fragile dependency on information flow.

A change made for one project can silently impact another. When that happens, testing can be completed correctly and still miss critical issues. The result is false confidence: the build is green, but risk remains.

This heuristic exists to protect against confidence built on missing information.


The core principle

Assume that impactful shared-code changes may not be communicated.
Silence is treated as uncertainty, not safety.

This heuristic deliberately challenges the assumption that “if no one mentioned it, it must be unaffected”.


When I use this heuristic

I apply this heuristic when:

  • multiple projects depend on shared logic
  • change scope is unclear or incomplete
  • regression time is limited
  • ownership boundaries do not match technical boundaries

It is especially useful when a full strategic model feels too heavy to apply under time pressure.


How I apply it in practice

Instead of focusing on which project a change belongs to, I focus on shared behavior.

I treat the following as shared risk zones by default:

  • calculations and derived values
  • date and duration logic
  • agreement or document generation
  • mappings between services
  • rules reused across multiple flows

When time is constrained, I do not aim for full regression. I select a small number of end-to-end paths where a small internal change could create a large, visible impact for users.

The goal is not coverage.
The goal is confidence proportional to risk.


The question that anchors my thinking

Before concluding testing, I ask:

“If a shared behavior changed silently, where would the damage surface first?”

If I cannot answer that question convincingly, then testing may be complete, but confidence is not justified.


How this fits beside HTSM

The Heuristic Test Strategy Model (HTSM) helps reason broadly about product, project, and quality dimensions.

The Silent Impact Heuristic is narrower and tactical. It helps me decide where to look first when information is incomplete and regression scope is elastic.

HTSM supports strategic thinking.
This heuristic guards against unseen cross-project impact.

They complement each other.


Explicit limitations

This heuristic is fallible.

It does not guarantee bug prevention, and it cannot surface every hidden dependency. Its value lies in challenging a dangerous assumption, not in providing completeness.

If this heuristic stops increasing confidence, it must be revised or abandoned.


What this heuristic represents

This is not a checklist.
It is a thinking safeguard developed from real production failure in a shared codebase.

It reflects how I reason about risk when communication cannot be trusted as a safety net.

HTSM by James Bach

Link

Testing Heuristic by MOT

Link