Environment modeling with UML/MARTE to support black-box system testing for real-time embedded systems: methodology and industrial case studies

The behavior of real-time embedded systems (RTES) is driven by their environment. Independent system test teams normally focus on black-box testing as they have typically no easy access to precise design information. Black-box testing in this context is mostly about selecting test scenarios that are more likely to lead to unsafe situations in the environment. Our Model-Based Testing (MBT) methodology explicitly models key properties of the environment, its interactions with the RTES, and potentially unsafe situations triggered by failures of the RTES under test. Though environment modeling is not new, we propose a precise methodology fitting our specific purpose, based on a language that is familiar to software testers, that is the UML and its extensions, as opposed to technologies geared towards simulating natural phenomena. Furthermore, in our context, simulation should only be concerned with what is visible to the RTES under test. Our methodology, focused on black-box MBT, was assessed on two industrial case studies. We show how the models are used to fully automate black-box testing using search-based test case generation techniques and the generation of code simulating the environment.

[1]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[2]  Doo-Hwan Bae,et al.  UML-based Modeling and Simulation Method for Mission-Critical Real-Time Embedded System Development , 2006, IASTED Conf. on Software Engineering.

[3]  Christian Steger,et al.  Improvement of control software for automatic logistic systems using executable environment models , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[4]  Lionel C. Briand,et al.  Black-Box System Testing of Real-Time Embedded Systems Using Random and Search-Based Testing , 2010, ICTSS.

[5]  Gabor Karsai,et al.  Model-driven architecture for embedded software: A synopsis and an example , 2008, Sci. Comput. Program..

[6]  Jakob Axelsson Unified modeling of real-time control systems and their physical environments using UML , 2001, Proceedings. Eighth Annual IEEE International Conference and Workshop On the Engineering of Computer-Based Systems-ECBS 2001.

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

[8]  James Bret Michael,et al.  Environment behavior models for automation of testing and assessment of system safety , 2006, Inf. Softw. Technol..

[9]  Paul Baker,et al.  Testing of Software and Communication Systems, 21st IFIP WG 6.1 International Conference, TESTCOM 2009 and 9th International Workshop, FATES 2009, Eindhoven, The Netherlands, November 2-4, 2009. Proceedings , 2009, TestCom/FATES.

[10]  Sanford Friedenthal,et al.  A Practical Guide to SysML: The Systems Modeling Language , 2008 .

[11]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[12]  Pierre de Saqui-Sannes,et al.  Testing Real-Time Systems Using TINA , 2009, TestCom/FATES.

[13]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[14]  Maritta Heisel,et al.  Testing Against Requirements Using UML Environment Models , 2008, Softwaretechnik-Trends.

[15]  Lydie du Bousquet,et al.  Lutess: a specification-driven testing environment for synchronous software , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[16]  K. Larsen,et al.  Online Testing of Real-time Systems Using Uppaal , 2004, FATES.