On software quality and engineering

Ben Elliston bje at redhat.com
Sat Nov 2 18:11:53 EST 2002

  Tomasz> and has some safety margins built in. In most cases of
  Tomasz> software desing I am yet to see doco on a module that states
  Tomasz> that: "this module implements function X, it has these input
  Tomasz> ranges, these output ranges and produces this error
  Tomasz> otherwise".

Documentation in this sense is largely useless.  It communicates these
ideas in natural language, which is open to misinterpretation and
ambiguity.  A practical form of a software contract is an agreed upon,
machine readable, testsuite.

If the software passes a testsuite that the customer and the vendor
have agreed to, both have some reassurances about the quality of the
software produced.  The customer knows their needs have probably been
met.  On the vendor's side, the testsuite helps them quantify how
close they are to completion.


More information about the linux mailing list