Test Automation for Safety-Critical Systems: Industrial Application and Future Developments

Design, execution and evaluation of tests for safety-critical systems require considerable effort and skill and consume a large part of today's development costs. Due to the growing complexity of control systems, it has to be expected that their trustworthy test will become unmanageable in the future, if only conventional techniques, requiring a high degree of human interaction during the test process, are applied. In this article, we will focus on test automation for reactive real-time systems, with emphasis on Hardware-in-the-Loop tests analyzing the behaviour of combined software and hardware components. To illustrate possible approaches for this test problem, we describe a concept based on specifications written in Real-Time CSP. For the implementation of test generation and evaluation algorithms transition system representations are used, as can be obtained by Formal Systems' FDR tool. An industrial application of the method is presented and used for the evaluation of the benefits of formal methods-based testing in comparison with conventional techniques. Furthermore, we will indicate research topics in this field which are likely to become important for further improvements of the test process. Specifically, the benefits arising from an approach combining formal verification and testing will be discussed. Our presentation aims less at “promoting” a specific solution, but tries to illustrate the basic problems to be tackled with any formal method, when trying to develop test automation concepts to be applied in the context of reactive systems.

[1]  Monika Müllerburg Systematic testing: A means for validating reactive systems , 1995, Softw. Test. Verification Reliab..

[2]  Hans-Martin Hörcher,et al.  Improving Software Tests Using Z Specifications , 1995, ZUM.

[3]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[4]  Janusz Zalewski,et al.  Specification and proof in real-time CSP , 1996 .

[5]  Robert E. Milne,et al.  The formal description technique LOTOS : By P.H.J. van Eijk, C.A. Vissers and M. Diaz, eds. North-Holland, Amsterdam, Netherlands, 1989, Price $102.50 (hardback), ISBN 0-444-87267-1. , 1990 .

[6]  Jan Peleska,et al.  Formal methods and the development of dependable systems , 1996, Bericht / Christian-Albrechts-Universität Kiel / Institut für Informatik und Praktische Mathematik.

[7]  Elaine J. Weyuker,et al.  Automatically Generating Test Data from a Boolean Specification , 1994, IEEE Trans. Software Eng..

[8]  Debra J. Richardson,et al.  Specification-based test oracles for reactive systems , 1992, International Conference on Software Engineering.

[9]  Jan Peleska,et al.  From Testing Theory to Test Driver Implementation , 1996, FME.

[10]  Mogens Nielsen,et al.  TAPSOFT '95: Theory and Practice of Software Development , 1995, Lecture Notes in Computer Science.

[11]  Ernst-Rüdiger Olderog,et al.  Verification of Sequential and Concurrent Programs , 1997, Graduate Texts in Computer Science.

[12]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[13]  Erich Mikk,et al.  Compilation of Z Specifications into C for Automatic Test Result Evaluation , 1995, ZUM.

[14]  Debra J. Richardson,et al.  Approaches to specification-based testing , 1989 .

[15]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[16]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

[17]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.