Reducing Verification Effort in Component-Based Software Engineering through Built-In Testing

Today component- and service-based technologies play a central role in many aspects of enterprise computing. However, although the technologies used to define, implement, and assemble components have improved significantly over recent years, techniques for verifying systems created from them have changed very little. The correctness and reliability of component-based systems are still usually checked using the traditional testing techniques that were in use before components and services became widespread, and the associated costs and overheads still remain high. This paper presents an approach which addresses this problem by making the system verification process more component-oriented. Based on the notion of built-in tests - tests that are packaged and distributed with prefabricated, off-the-shelf components - the approach and supporting infrastructure help to automate some of the testing process, thereby significantly reduces system testing effort. After providing an introduction to the principles behind component-based verification, and explaining the main features of the approach, we show by means of a small example how it can reduce system verification effort

[1]  Xiaoming Wang,et al.  Chapter 8 , 2003, The Sermons and Liturgy of Saint James.

[2]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[3]  Sigrid Eldh Software Testing Techniques , 2007 .

[4]  Barry W. Boehm,et al.  Verifying and Validating Software Requirements and Design Specifications , 1989, IEEE Software.

[5]  Changzhou Wang,et al.  Integrated quality of service (QoS) management in service-oriented enterprise architectures , 2004, Proceedings. Eighth IEEE International Enterprise Distributed Object Computing Conference, 2004. EDOC 2004..

[6]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[7]  Hans-Gerhard Groß,et al.  Component-based software testing with UML , 2004 .

[8]  Derek McAuley,et al.  Energy is just another resource: energy accounting and energy pricing in the Nemesis OS , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[9]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[10]  John D. Musa,et al.  Operational profiles in software-reliability engineering , 1993, IEEE Software.

[11]  Leonardo Mariani,et al.  Generation of Integration Tests for Self-Testing Components , 2004, FORTE Workshops.

[12]  Bev Littlewood,et al.  Evaluation of competing software reliability predictions , 1986, IEEE Transactions on Software Engineering.

[13]  Yingxu Wang,et al.  A method for built-in tests in component-based software maintenance , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[14]  Colin Atkinson,et al.  Component Integration through Built-in Contract Testing , 2003, Component-Based Software Quality.

[15]  Volker Gruhn,et al.  Black- and White-Box Self-testing COTS Components , 2004, SEKE.

[16]  Ralf Reussner,et al.  Contracts and Quality Attributes of Software Components , 2003 .

[17]  Dick Hamlet When only random testing will do , 2006, RT '06.

[18]  John D. Musa,et al.  Software Reliability Engineering: More Reliable Software Faster and Cheaper , 2004 .

[19]  Colin Atkinson,et al.  Ubiquitous RATs: how resource-aware run-time tests can improve ubiquitous software systems , 2006, SEM '06.