[comp.object] Specification Tools and Code Testing

doug@nixtdc.uucp (Doug Moen) (08/13/90)

cox@stpstn.UUCP (Brad Cox) writes:
)My IEEE Software paper (Nov 1990) goes into the distinction between 
)specification and implementation in some detail...
)
)Where inheritance really belongs, and where it offers its greatest
)potential, is in the (as-yet-nonexistent) specification tools; i.e.
)specification language "compilers" that compile an input notation, the
)specification, into but *tests*; executable code, or "gauges", that determine
)(by testing) whether a given implementation is within tolerance to its 
)specification.
)
)In case this isn't obvious, the meaning I'm using for "specification"
)includes not only *static* specifications (i.e. what method names/types
)are listed in some interface file; i.e. class Stack has methods push and pop),
)but *dynamic* specifications (i.e.  if I push 1,2,3 on an instance of class
)Stack, pop should return 3,2,1).

gregk@cbnewsm.att.com (gregory.p.kochanski) writes:
>Won't the process of writing the specifications be as complex as writing
>the program, if you want to specify things in such detail that all
>operations of a class can be tested?

My group is currently in the test phase of developing a large document
image processing system.  This is a commercial project, and we are spending
a great deal of effort in testing to avoid releasing a buggy product.
What we are discovering is that testing a big system is *hard*, and
that having a sound testing methodology is crucial.

A specification language, together with a compiler that automatically
generates test code, as Brad describes, would be tremendously useful
for us.  I don't think it matters that writing the specifications is
as labour intensive as writing the original code; we are already spending
a lot more time in testing and documentation than in coding already.

Does anyone have references for testing methodologies
or automated testing tools for large systems?

a1157@mindlink.UUCP (Reece Markowsky) (08/21/90)

There is a book on software testing which got a satisfactory review.
It is written by Michael Evans, and I am not sure of the name.
You can however track it down through an InfoTrac system at most
universities... IE the review I read was through this system... it also
contains the necessary information to find the book.

Reece
Simon Fraser University

PS: If you cannot get access to an info trac, please let me know and I can help
you locate the book.