Tests Derivation from Model Based Formal Specifications
Software testing consumes a large percentage of total software development costs. Yet, it is still usually performed manually in a non rigorous fashion. In this work we suggest how state of the art practices in the area of testing can be applied to the systematic generation of tests from model-based formal specifications. Third Irish Workshop in Formal Methods, 1999 Tests Derivation from Model Based Formal Specifications However we should always keep in mind the shortcomings of defect testing
... highlighted in  : primarily it may not always be the most straightforward method for increasing the reliability of the software under test. The testing activity is increasingly being automated. However, the crucial area of tests generation is still largely performed manually and, according to Ould , is the most important aspect of software testing requiring automation. Because manual testing demands fastidiousness, and hence is often performed non-rigorously, the need for automated tests generating tools in the software engineering community is strong. But automatic test generation is still in its infancy: few automatic tests generators have actually been implemented and far less, if any, are in use everyday  . Most automatic test generators use white box techniques to derive the tests . White box techniques use the source code as their basis for tests derivation. Black box techniques, where some sort of program specification is used for the derivation process, have not received the same amount of consideration. This is certainly due to the absence of intuitive methods for the derivation of tests from specifications. The main exception to this remark are test selection methods based on deterministic Finite State Machines where many useful theoretical results exists [9, 27, 16] . Without extensions however, FSMs have a limited modelling ability: only the control aspect of systems can be specified. Some formal notations that extend somewhat the usefulness of FSMs as a general specification technique are: LOTOS , Estelle  and SDL  . However those notations are not as expressive as model-based formal specification languages such as Z and VDM-SL. These preliminary considerations form the rationale to our undertaking of trying to systematically generate tests from VDM-SL specifications. Previous work in this area include the commendable work of J. Dick and A. Faivre  for their implementation of an automatic test generator prototype from a subset of VDM-SL. Although the VDM-SL subset used is very limited (e.g. no quantified expressions) their work forms much of the basis for other work in this area. In particular  re-applies their work, without extending it, to Z. Stocks and Carrington  present a formal framework for tests derivation from Z specifications where, unfortunately, automation is not addressed.