Specification for testing—the removal of abstraction
Ivor T. A. Spence · Software Testing Verification and Reliability · 1998
A good specification of a software system is the best foundation for good testing, and automated testing really requires a formal specification. A formal specification of the operations provided by a system is typically written at an abstract level. The data types of any arguments and result values may not be directly supported by the user interface and there is no indication of the precise means by which an operation is invoked. This abstraction is essential for considering the overall functionality but means that the system is under-specified from the point of view of the tester—particularly if automated testing is envisaged. Some techniques are presented for including concrete user interface details with the abstract description of a formal specification, and these are illustrated with a worked example. The formal notation used is VDM-SL. © 1998 John Wiley & Sons, Ltd.