Some tests can't be satisfied. Or at least not under a VonNeumannArchitecture
Specification is a statement of what the product will do and how it will act. This does not address the issue of how
the product does this, unless such procedure is a necessary part of the product's behavior.
I once did a short term gig at a place that had a "specification" for their thermal transfer printer product that was a simple reverse engineering of the (existing turd collection) software. The "spec" went into great detail about the serial access to the print head, the read/write cycles, blah, blah, blah. What a total pile of kaka. After I rubbed their nose in the fact that the basic hardware/software platform was incapable of meeting the actual printing requirements they decided that maybe the "specification" wasn't quite up to snuff. Oy.
I did a quick search for the definition of Specification. This one seems to be the most relevant.
a. specifications A detailed, exact statement of particulars, especially a statement prescribing materials, dimensions, and quality of work for something to be built, installed, or manufactured.
(this is from thefreedictionary dot com, not sure if citation is necessary or how to link it)
I think what you seem to mean by specification is more similar to an Interface in programming terms. Perhaps InterfaceIsNotImplementation?
, which once stated seems obvious from a computer science standpoint. Basically what we're talking about is TopDownVsBottomUp?
. -- MikeEdwards