A model-based testing technique for component-based real-time embedded systems

The growing complexity of modern real-time embedded systems is leading to increased use of component-based software engineering (CBSE) technology. Although many ideas have been proposed for building component-based real-time embedded software, techniques for testing component-based realtime systems are scarce. The challenges not only come from the integration of different types of components through their interfaces but also include the composition of extra-functional properties. In an embedded system, extra-functional requirements are as important as functional requirements. A real-time embedded system needs to achieve its functionality under the constraints caused by its extra-functional properties. Correct functional behavior with regard to timing properties is essential to real-time embedded system. This paper focuses on real-time requirements instead of all extra-functional requirements. Therefore, they should be considered while testing embedded software behavior. This paper addresses problems that emerge during the integration of component-based real-time embedded software. It presents a test model that depicts both inter-component and intra-component relationships in component-based real-time embedded software and identifies key test elements. The test model is realized using a family of graph-based test models in which that describe functional interactions and their dependence relationships, as well as the time-dependent interaction among components. By using a graph-based test model, this paper presents a novel family of test adequacy criteria that help generate effective test cases and new algorithms to facilitate automate generation of the test cases.

[1]  Robert V. Binder,et al.  Design for testability in object-oriented systems , 1994, CACM.

[2]  Marc F. Witteman,et al.  Design for Testability in Hardware-Software Systems , 1996, IEEE Des. Test Comput..

[3]  Paul Allen,et al.  Component-Based Development for Enterprise Systems: Applying the SELECT Perspective , 1997 .

[4]  A. Jefferson Offutt,et al.  Coupling‐based criteria for integration testing , 1998 .

[5]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[6]  David E. Simon,et al.  An Embedded Software Primer , 1999 .

[7]  Jean Hartmann,et al.  UML-Based integration testing , 2000, ISSTA '00.

[8]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[9]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, UML.

[10]  Ye Wu,et al.  Techniques for testing component-based software , 2001, Proceedings Seventh IEEE International Conference on Engineering of Complex Computer Systems.

[11]  Aditya P. Mathur,et al.  Interface Mutation: An Approach for Integration Testing , 2001, IEEE Trans. Software Eng..

[12]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, Software and Systems Modeling.

[13]  Bart Broekman,et al.  Testing Embedded Software , 2002 .

[14]  A. Jefferson Offutt,et al.  UML-Based Integration Testing for Component-Based Software , 2003, ICCBSS.

[15]  Edward A. Lee,et al.  Timed multitasking for real-time embedded software , 2003 .

[16]  Lionel C. Briand,et al.  Towards Automated Support for Deriving Test Data from UML Statecharts , 2003, UML.

[17]  Simone do Rocio Senger de Souza,et al.  Mutation Testing Applied to Estelle Specifications , 2004, Software Quality Journal.

[18]  A. Jefferson Offutt,et al.  Mutation-based testing criteria for timeliness , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[19]  Egon Valentini,et al.  A framework for efficient contract-based testing of software components , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[20]  Raymond A. Paul,et al.  Rapid embedded system testing using verification patterns , 2005, IEEE Software.

[21]  Jing Guan,et al.  An industrial case study of structural testing applied to safety-critical embedded software , 2006, ISESE '06.

[22]  R. Land,et al.  Reusable Component Analysis for Component-Based Embedded Real-Time Systems , 2007, 2007 29th International Conference on Information Technology Interfaces.

[23]  Gary A. Bundell,et al.  Model-Based Software Component Testing: A UML-Based Approach , 2007, 6th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2007).

[24]  Byoungju Choi,et al.  An interface test model for hardware-dependent software and embedded OS API of the embedded system , 2007, Comput. Stand. Interfaces.

[25]  Jorge C. A. de Figueiredo,et al.  Component-based integration testing from UML interaction diagrams , 2007, 2007 IEEE International Conference on Systems, Man and Cybernetics.

[26]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[27]  Teemu Kanstrén,et al.  A Study on Design for Testability in Component-Based Embedded Software , 2008, 2008 Sixth International Conference on Software Engineering Research, Management and Applications.

[28]  J. Cadamuro Efficient Monitoring of Embedded Real-Time Systems , 2008, ITNG 2008.

[29]  Douglas Renaux,et al.  Efficient Monitoring of Embedded Real-Time Systems , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[30]  A. Jefferson Offutt,et al.  Test Sequence Generation For Integration Testing Of Component Software , 2009, Comput. J..

[31]  Rajib Mall,et al.  Test Case Generation Based on State and Activity Models , 2010, J. Object Technol..

[32]  Jifeng He,et al.  Formal Specification of Hybrid MARTE Statecharts , 2012, 2012 Sixth International Symposium on Theoretical Aspects of Software Engineering.