Towards Systematic Model-based Testing of Self-adaptive Software

Self-adaptive software reconfigures automatically at runtime to environment changes in order to fulfill its specified goals. Thereby, the system runs in a control loop which includes monitoring, analysis, adaptation planning, and execution. To assure functional correctness and non-functional adequacy, testing is required. When defining test cases, the control loop’s tasks have to be validated as well as the adapted system behavior that spans a much more complex decision space than in static software. To reduce the complexity for testers, models can be employed and later be used to generate test cases automatically—an approach called Model-based Testing. Thereby, a test modeler has to specify test models expressing the system’s externally perceivable behavior. In this paper, we perform a Failure Mode and Effects Analysis on a generic perspective on self-adaptive software to figure out the additional requirements to be coped with in test modeling. Keywords—self-adaptive software; problem statement; model-based testing; failure mode and effects analysis

[1]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[2]  Stephen S. Yau,et al.  Testing context-sensitive middleware-based software applications , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

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

[4]  Bedir Tekinerdogan,et al.  Software Architecture Reliability Analysis Using Failure Scenarios , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[5]  Bedir Tekinerdogan,et al.  Extending Failure Modes and Effects Analysis Approach for Reliability Analysis at the Software Architecture Design Level , 2006, WADS.

[6]  David S. Rosenblum,et al.  Automated Generation of Context-Aware Tests , 2007, 29th International Conference on Software Engineering (ICSE'07).

[7]  Tariq M. King,et al.  Towards Self-Testing in Autonomic Computing Systems , 2007, Eighth International Symposium on Autonomous Decentralized Systems (ISADS'07).

[8]  Sooyong Park,et al.  Dynamic Software Product Lines , 2008, Computer.

[9]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[10]  Benoit Baudry,et al.  Artificial table testing dynamically adaptive systems , 2009, ArXiv.

[11]  Uwe Aßmann,et al.  Using Role-Based Composition to Support Unanticipated , Dynamic Adaptation-Smart Application Grids , 2012 .

[12]  Martin Franke Towards a flexible control center for cyber-physical systems , 2012 .

[13]  Thomas Schlegel,et al.  TEST MODELING FOR CONTEXT- AWARE UBIQUITOUS APPLICATIONS WITH FEATURE PETRI NETS , 2012 .

[14]  Takeo Kanade,et al.  Software Engineering for Self-Adaptive Systems II , 2013, Lecture Notes in Computer Science.