Automated testing of embedded automotive systems from requirement specification models

Embedded software for modern automotive and avionic systems is increasingly complex. In early design phases, even when there is still uncertainty about the feasibility of the requirements, valuable information can be gained from models that describe the expected usage and the desired system reaction. The generation of test cases from these models indicates the feasibility of the intended solution and helps to identify scenarios for which the realization is hardly feasible or the intended system behavior is not properly defined. In this paper we present the formalization of requirements by models to simulate the expected field usage of a system. These so called usage models can be enriched by information about the desired system reaction. Thus, they are the basis for all subsequent testing activities: First, they can be used to verify the first implementation models and design decisions w.r.t. the fulfillment of requirements and second, test cases can be derived in a random or statistic manner. The generation can be controlled with operational profiles that describe different classes of field usage. We have applied our approach at a large German car manufacturer in the early development phase of active safety functionalities. Test cases were generated from the usage models to assess the implementation models in MATLAB/Simulink. The parametrization of the systems could be optimized and a faulty transition in the implementation models was revealed. These design and implementation faults had not been discovered with the established test method.

[1]  Nancy G. Leveson,et al.  Medical Devices: the Therac-25 , 1985 .

[2]  W. Marsden I and J , 2012 .

[3]  Jesse H. Poore,et al.  Sequence-based specification of feedback control systems in Simulink® , 2007, CASCON.

[4]  Troels Mørch Test Driven Development , 2005 .

[5]  Jesse H. Poore,et al.  A reliability estimator for model based software testing , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[6]  Dirk Nowotka,et al.  Äquivalenzklassen mit Zeit und Zuständen , 2009, Informatiktage.

[7]  Lech Madeyski,et al.  Test-Driven Development - An Empirical Evaluation of Agile Practice , 2009 .

[8]  Reinhard German,et al.  Introduction of time dependencies in usage model based testing of complex systems , 2010, 2010 IEEE International Systems Conference.

[9]  J. Wegener,et al.  Test Case Design by Means of the CTE XL , 2000 .

[10]  Christian Berger,et al.  Formal specification and systematic model-driven testing of embedded automotive systems , 2011, 2011 Design, Automation & Test in Europe.

[11]  Bernhard Rumpe,et al.  MontiCore: a framework for the development of textual domain specific languages , 2008, ICSE Companion '08.

[12]  Reinhard German,et al.  Model Driven Testing with Time Augmented Markov Chain Usage Models - Computations and Test Case Generation Algorithms for Time Augmented Markov Chain Usage Models , 2009, ICSOFT.

[13]  Janusz Sosnowski,et al.  Analyzing Fault Susceptibility of ABS Microcontroller , 2008, SAFECOMP.

[14]  Jesse H. Poore,et al.  Statistical testing of software based on a usage model , 1995, Softw. Pract. Exp..

[15]  Stacy J. Prowell Using Markov Chain Usage Models to Test Complex Systems , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[16]  Johan Karlsson,et al.  Software Implemented Detection and Recovery of Soft Errors in a Brake-by-Wire System , 2008, 2008 Seventh European Dependable Computing Conference.