Structural Testing of Component-Based Systems

Component based development of software systems needs to devise effective test management strategies in order fully achieve its perceived advantages of cost efficiency, flexibility, and quality in industrial contexts. In industrial systems with quality demands, while testing software, measures are employed to evaluate the thoroughness achieved by execution of a certain set of test cases. Typically, these measures are expressed in the form of coverageof different structural test criteria, e.g., statement coverage. However, such measures are traditionally applicable only on the lowest level of software integration (i.e., the component level). As components are assembled into subsystems and further into full systems, general measures of test thoroughness are no longer available. In this context, we formalize the added test effort and show to what extent the coverage of structural test criteria are maintained when components are integrated, in three representative component models. This enables focusing on testing the right aspects of the software at the right level of integration, and achieves cost reduction during testing -- one of the most resource-consuming activities in software engineering.

[1]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[2]  Jan Gustafsson,et al.  Algorithms for Infeasible Path Calculation , 2006, WCET.

[3]  Lori L. Pollock,et al.  All‐uses testing of shared memory parallel programs , 2003, Softw. Test. Verification Reliab..

[4]  Oscar Nierstrasz,et al.  A Component Model for Field Devices , 2002, Component Deployment.

[5]  Elaine J. Weyuker,et al.  An Applicable Family of Data Flow Testing Criteria , 1988, IEEE Trans. Software Eng..

[6]  Lee Copeland,et al.  A Practitioner's Guide to Software Test Design , 2003 .

[7]  Séverine Sentilles,et al.  ProCom - the Progress Component Model Reference Manual, version 1.0 , 2008 .

[8]  Zhong Wang,et al.  A survey of software component models , 2005 .

[9]  Colin J. Fidge,et al.  Semantic characterisation of dead control-flow paths , 2001, IEE Proc. Softw..

[10]  van E.P.W.M. Veenendaal,et al.  The Testing Practitioner , 2007 .

[11]  Daniel Sundmark,et al.  Finding DU-Paths for Testing of Multi-Tasking Real-Time Systems using WCET Analysis , 2007, WCET.

[12]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[13]  Michal Young,et al.  Residual test coverage monitoring , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[14]  Kazuo Ushijima,et al.  Test-case generation for concurrent programs with the testing criteria using interaction sequences , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[15]  Hans-Gerhard Groß,et al.  Evolutionary Testing In Component-based Real-time System Construction , 2002, GECCO.

[16]  John Håkansson,et al.  The SAVE approach to component-based development of vehicular systems , 2007, J. Syst. Softw..

[17]  Johan Fredriksson,et al.  Introducing a Component Technology for Safety Critical Embedded Real-Time Systems , 2004, CBSE.

[18]  Richard N. Taylor,et al.  Structural Testing of Concurrent Programs , 1992, IEEE Trans. Software Eng..

[19]  Allen Goldberg,et al.  Applications of feasible path analysis to program testing , 1994, ISSTA '94.

[20]  Daniel Sundmark,et al.  Shared Data Analysis for Multi-Tasking Real-Time System Testing , 2007, 2007 International Symposium on Industrial Embedded Systems.

[21]  Chengying Mao,et al.  Regression testing for component-based software systems by enhancing change information , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[22]  Xiao Ma,et al.  Effective generation of test sequences for structural testing of concurrent programs , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[23]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[24]  Ivica Crnkovic,et al.  Building Reliable Component-Based Software Systems , 2002 .

[25]  Antonio Bucchiarone,et al.  TESTOR: deriving test sequences from model-based specifications , 2005, CBSE'05.

[26]  Alexander Pretschner Compositional Generation of MC/DC Integration Test Suites , 2003, Electron. Notes Theor. Comput. Sci..

[27]  Steven P. Miller,et al.  Applicability of modified condition/decision coverage to software testing , 1994, Softw. Eng. J..

[28]  Elaine J. Weyuker,et al.  Testing Component-Based Software: A Cautionary Tale , 1998, IEEE Softw..

[29]  Christo Angelov,et al.  COMDES-II: A Component-Based Framework for Generative Development of Distributed Real-Time Control Systems , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).

[30]  Natalia Juristo Juzgado,et al.  Reviewing 25 Years of Testing Technique Experiments , 2004, Empirical Software Engineering.

[31]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[32]  Stefan P. Jaskiel,et al.  Systematic Software Testing , 2002 .

[33]  R.-D. Yang,et al.  Path analysis testing of concurrent programs , 1992, Inf. Softw. Technol..

[34]  Grady Booch,et al.  Essential COM , 1998 .