Abstract
Formal specifications become more and more important in the development of software, especially but not only in the area of high integrity system design. In this paper it is demonstrated, how, apart from the specification phase, further benefits may be drawn from formal specifications for checking the implementation against the specification. It is shown how the specification can be used for systematically deriving test input data and for automatically evaluating test results. The approach is illustrated using the specification language Z. The same principles may be applied to other specification languages. The approach allows a high degree of automation, drastically improving productivity and quality of the testing process.
Similar content being viewed by others
References
Carrington, D. and Stocks, P. (1994) A tale of two paradigms: formal methods and software testing. In J. P. Bowen and J. A. Hall, eds, Z User Workshop, Cambridge, June 1994, Workshops in Computing, pp. 51–68. BCS FACS, Springer Verlag.
DemilloR. and OffuttA.J. (1993) Experimental results from an automatic test case generator. ACM Transactions on Software Engineering 2(2) 109–127.
Dick, J. and Faivre, A. (1993) Automating the generation and sequencing of test cases from model-based specifications. In J.C.P. Woodcock and P.G. Larsen, eds, FME'93: Industrial-Strength Formal Methods, number 670 in Lecture Notes in Computer Science, pp. 268–284. FME Europe, Springer Verlag.
Diller, A. (1990) Z: An Introduction to Formal Methods, 1st edn. (John Wile & Sons, 1990).
GrochtmannM. and GrimmK. (1993) Classification trees for partition testing. Software Testing, Verification and Reliability 3(2), 63–82.
GutjahrW. (1993) Automatische Testdatengenerierung zur Unterstüzung des Softwaretests. Informatik Forschung und Entwicklung 8(3), 128–136.
HörcherH.-M. (1993) Das DST-Unittestbed zur automatisierten Durchführung von Unittests. GI-Softwaretechnik Trends, Mitteilungen der Fachgruppe ‘Software-Engineering’ 13(2), 41–49.
Hörcher, H.-M. (1995) Improving software tests using Z specifications. In Z User Meeting-ZUM'95, Lecture Notes in Computer Science. BCS FACS, Springer Verlag.
Hörcher, H.-M. and Peleska, J. (1993) The role of formal specifications in software testing. In Tutorial Notes for the FME'94 Symposium. Formal Methods Europe, October 1994.
Hamer, U. and Peleska, J. (1995) The Airbus A330/340 Cabin Communication System-A Z Application. In Michael G. Hinchey and Jonathan Bowen, eds, Applications of Formal Methods, Series in Computer Science. (Prentice Hall International, 1995).
Jones, C.B. (1986) Systematic Software Development using VDM. Series in Computer Science. (Prentice Hall International, 1986).
Mikk, E. (1993) Automatic compilation of Z specifications into C for automatic test result evaluation. Master's thesis, Christian Albrecht Universität Kiel, December 1993.
Mikk, E. (1995) Compilation of Z specifications into C for automatic test result evaluation. In Z User Meeting-ZUM'95, Lecture Notes in computer Science. (BCS FACS, Springer Verlag).
Myers, G.J. (1979) The Art of Software Testing. (John Wiley & Sons, 1979).
Scullard, G.T. (1988) Test case selection using VDM. In R. Bloomfield, L. Marshall, and R. Jones, eds, VDM88: VDM—The Way Ahead, number 328 in Lecture Notes in Computer Science, pp. 178–186. (VDM Europe, Springer Verlag).
Spivey, M. (1992) The Z Notation—A Reference Manual, 2nd edn. International Series in Computer Science. (Prentice Hall International, 1992).
Wordsworth, J.B. (1992) Software Development with Z. International Computer Science Series. (Addison Wesley, 1992).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Hörcher, HM., Peleska, J. Using formal specifications to support software testing. Software Qual J 4, 309–327 (1995). https://doi.org/10.1007/BF00402650
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00402650