Xref: utzoo comp.object:1596 comp.software-eng:4049 Path: utzoo!censor!geac!nixtdc!doug From: doug@nixtdc.uucp (Doug Moen) Newsgroups: comp.object,comp.software-eng Subject: Specification Tools and Code Testing Message-ID: <1990Aug13.140347.9441@nixtdc.uucp> Date: 13 Aug 90 14:03:47 GMT References: <4800097@m.cs.uiuc.edu> <243@cadlab.sublink.ORG> <5456@stpstn.UUCP> <1990Aug12.134735.22528@cbnewsm.att.com> Reply-To: doug@nixtdc.UUCP (Doug Moen) Followup-To: comp.software-eng Distribution: usa Organization: Nixdorf Computer Engineering Company Lines: 36 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?