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.
