untitled - 0 views
-
Most (quality) specifications provide clear instructions using
those magic words SHALL, SHALL NOT, and MAY where those words have
a defined meaning for an implementor. Paragraphs are clearly
identified as either normative or informative. That way an
implementor knows what they must and may implement to claim
conformance against a specification. This approach has been well
established over time as a sensible way for spec writers and
implementors to work -
Most (quality) specifications provide clear instructions using
those magic words SHALL, SHALL NOT, and MAY where those words have
a defined meaning for an implementor. Paragraphs are clearly
identified as either normative or informative. That way an
implementor knows what they must and may implement to claim
conformance against a specification. This approach has been well
established over time as a sensible way for spec writers and
implementors to work
That is the way quality specifications are written. For
example, ISO/IEC's JTC 1
Directives (link to PDF) requires that international standards
designed for interoperability "specify clearly and unambiguously
the conformity requirements that are essential to achieve the
interoperability."
With that clarity, conformance is testable and can provide
confidence of interoperability. A suite of tests may be developed
and applied to an implementation to determine which tests pass,
which fail, and hence arrive at an objective pronouncement on
conformance of an implementation against the entirety of the
specification. -
In a quality specification, it should be feasible to select a
normative paragraph, identify a conformance test for it, and make
a clear statement that this test proves that an implementation
meets (or fails to meet) that requirement. Call it a test plan:
define the tests (test specification), define the expected set of
results, and define what constitutes a "pass" of each test that
establishes conformance. The plan then provides the matrix of test
spec against requirement. Simple. - ...4 more annotations...



