Testing of Safety-Critical Systems - a Structural Approach to Test Case Design

In the development of many safety-critical systems, test cases are still created on the basis of experience rather than systematic methods. As a consequence, many redundant test cases are created and many aspects remain untested. One of the most important questions in testing dependable systems is: which are the right test techniques to obtain a test set that will detect critical errors in a complex system? In this paper, we provide an overview of the state-of-practice in designing test cases for dependable event-based systems regulated by the IEC 61508 and DO-178B standards. For example, the IEC 61508 standard stipulates modelbased testing and systematic test-case design and generation techniques such as transition-based testing and equivalence-class partitioning for software verification. However, it often remains unclear in which situation these techniques should be applied and what information is needed to select the right technique to obtain the best set of test cases. We propose an approach that selects appropriate test techniques by considering issues such as specification techniques, failure taxonomies and quality risks. We illustrate our findings with a case study for an interlocking system for Siemens transportation systems.

[1]  Johannes Wallner,et al.  A Hybrid Approach for Model-Based Random Testing , 2010, 2010 Second International Conference on Advances in System Testing and Validation Lifecycle.

[2]  Rex Black Advanced Software Testing - Vol. 1: Guide to the ISTQB Advanced Certification as an Advanced Test Analyst (Rockynook Computing) , 2008 .

[3]  A. Cant,et al.  A framework for assessing standards for safety critical computer-based systems , 1999, Proceedings 4th IEEE International Software Engineering Standards Symposium and Forum (ISESS'99). 'Best Software Practices for the Internet Age'.

[4]  Ross T. Smith,et al.  The Practical Guide to Defect Prevention , 2007 .

[5]  James A. Whittaker How to Break Software , 2000 .

[6]  Boris Beizer,et al.  Software System Testing and Quality Assurance , 1984 .

[7]  Jan Tretmans,et al.  TorX: Automated Model-Based Testing , 2003 .

[8]  Cmmi Product Team CMMI for Development, Version 1.2 , 2010 .

[9]  D. Richard Kuhn,et al.  FAILURE MODES IN MEDICAL DEVICE SOFTWARE: AN ANALYSIS OF 15 YEARS OF RECALL DATA , 2001 .

[10]  Natalia Juristo Juzgado,et al.  Packaging experiences for improving testing technique selection , 2006, J. Syst. Softw..

[11]  Rudolf Ramler,et al.  The Role of Experience in Software Testing Practice , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[12]  Thierry Jéron,et al.  An Experiment in Automatic Generation of Test Suites for Protocols with Verification Technology , 1997, Sci. Comput. Program..

[13]  Matthias Heindl,et al.  Issues in Testing Dependable Event-Based Systems at a Systems Integration Company , 2007, The Second International Conference on Availability, Reliability and Security (ARES'07).

[14]  Mark Harman,et al.  Formal methods and testing: an outcome of the FORTEST network , 2008 .

[15]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[16]  Jan Tretmans,et al.  A Symbolic Framework for Model-Based Testing , 2006, FATES/RV.

[17]  César Viho,et al.  An Industrial Experiment in Automatic Generation of Executable Test Suites for a Cache Coherency Protocol , 1998, IWTCS.

[18]  Jeffrey Voas,et al.  Software Fault Injection , 1998 .

[19]  Jan Tretmans,et al.  Test Generation with Inputs, Outputs and Repetitive Quiescence , 1996, Softw. Concepts Tools.

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

[21]  Brian Nielsen,et al.  Formal Approaches to Software Testing, 4th International Workshop, FATES 2004, Linz, Austria, September 21, 2004, Revised Selected Papers , 2005, FATES.

[22]  Christian Schallhart,et al.  Tools for Test Case Generation , 2004, Model-Based Testing of Reactive Systems.

[23]  Dan S. Nielsen The cause/consequence diagram method as a basis for quantitative accident analysis , 1971 .

[24]  Bev Littlewood,et al.  Validation of ultrahigh dependability for software-based systems , 1993, CACM.

[25]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures [The volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004] , 2005, Model-Based Testing of Reactive Systems.

[26]  Jan Tretmans,et al.  Model Based Testing with Labelled Transition Systems , 2008, Formal Methods and Testing.

[27]  Derk-Jan de Grood TestGoal - result-driven testing , 2008 .

[28]  William E. Howden,et al.  Reliability of the Path Analysis Testing Strategy , 1976, IEEE Transactions on Software Engineering.

[29]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.