Did the implementation meet the specification?
Evidence compares the artifact against explicit requirements, interfaces and constraints.
Side 128
Two questions kept separate: did we build the thing according to specification, and is the resulting thing actually suitable for the intended use?
Collapsing them creates systems that are internally correct but externally useless—or useful by accident without reliable conformance.
Evidence compares the artifact against explicit requirements, interfaces and constraints.
Evidence compares system behavior with real goals, users and operating conditions.
Ambiguous, incomplete or misdirected requirements shift failure upstream.
A system validated in one setting may not generalize to another.
Inspection, analysis, simulation and testing reveal different failure classes.
Reviews can catch omissions, inconsistencies and noncompliance early.
Formal reasoning is strongest when assumptions are explicit and tractable.
Simulation expands coverage while inheriting model limitations.
Tests provide direct evidence but cover only sampled cases and environments.
Traceability turns a pile of tests into an auditable argument about requirements.
Unmapped requirements reveal gaps before deployment.
Coverage metrics are useful indicators but are not substitutes for meaningful test design.
A small implementation change can invalidate assumptions in distant parts of the system.
Uncontrolled versions make successful validation difficult to reproduce.
Edge cases, adversarial conditions and real users expose assumptions hidden by happy-path testing.
Failures often cluster around thresholds where modes or assumptions change.
Robust systems anticipate foreseeable operator behavior rather than assuming ideal interaction.
Load, noise, latency, temperature, incentives or social context can change behavior.
Validation supports a decision; it does not eliminate uncertainty.