Abstract
Modern large-scale component-based applications and service ecosystems are built following a number of different component models and architectural styles, such as the data-flow architectural style. In this style, each building block receives data from a previous one in the flow and sends output data to other components. This organisation expresses information flows adequately, and also favours decoupling between the components, leading to easier maintenance and quicker evolution of the system. Integration testing is a major means to ensure the quality of large systems. Their size and complexity, together with the fact that they are developed and maintained by several stake holders, make Built-In Testing (BIT) an attractive approach to manage their integration testing. However, so far no technique has been proposed that combines BIT and data-flow integration testing. We have introduced the notion of a virtual component in order to realize such a combination. It permits to define the behaviour of several components assembled to process a flow of data, using BIT. Test-cases are defined in a way that they are simple to write and flexible to adapt. We present two implementations of our proposed virtual component integration testing technique, and we extend our previous proposal to detect and handle errors in the definition by the user. The evaluation of the virtual component testing approach suggests that more issues can be detected in systems with data-flows than through other integration testing approaches.
This work has been carried out as part of the Poseidon project under the responsibility of the Embedded Systems Institute. This project is partially supported by the Dutch Ministry of Economic Affairs under the BSIK03021 program.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Abdullah, K., Kimble, J., White, L.: Correcting for unreliable regression integration testing. In: ICSM 1995: Proceedings of the International Conference on Software Maintenance, p. 232. IEEE Computer Society, Washington (1995)
Beer, A., Heindl, M.: Issues in testing dependable event-based systems at a systems integration company. In: ARES 2007: Proceedings of the the Second International Conference on Availability, Reliability and Security, pp. 1093–1100. IEEE Computer Society, Washington (2007)
Bertolino, A., Inverardi, P., Muccini, H., Rosetti, A.: An approach to integration testing based on architectural descriptions. In: ICECCS 1997: Proceedings of the Third IEEE International Conference on Engineering of Complex Computer Systems, p. 77. IEEE Computer Society, Washington (1997)
Brenner, D., Atkinson, C., Malaka, R., Merdes, M., Paech, B., Suliman, D.: Reducing verification effort in component-based software engineering through built-in testing. Information Systems Frontiers 9(2-3), 151–162 (2007)
E. U. Commission, Maritime Affairs: An integrated maritime policy for the european union (October 2007)
Gao, J.Z., Tsao, H.S.J., Wu, Y.: Testing and Quality Assurance for Component-Based Software. Artech House, Norwood (2003)
González, A., Piel, É., Gross, H.G.: Architecture support for runtime integration and verification of component-based systems of systems. In: 1st International Workshop on Automated Engineering of Autonomous and run-time evolving Systems (ARAMIS 2008), pp. 41–48. IEEE Computer Society, L’Aquila (Septmeber 2008)
Green Hat Software: Lessons from testing service oriented architectures white paper (2008)
Gross, H.G.: Component-Based Software Testing with UML. Springer, Heidelberg (2005)
Gross, H.G., Mayer, N.: Built-in contract testing in component integration testing. Electronic Notes in Theoretical Computer Science 82(6), 22–32 (2004)
Hopcroft, J., Tarjan, R.: Algorithm 447: efficient algorithms for graph manipulation. Commun. ACM 16(6), 372–378 (1973)
International Telecommunication Union: Recommendation ITU-R M.1371-1 (2001)
Jorgensen, P.: Software Testing: A Craftman’s Approach. CRC Press, Inc., Boca Raton (2001)
Object Management Group: UML 2 Infrastructure (Final Adopted Specification) (Septmeber 2003), http://www.omg.org/cgi-bin/doc?ptc/2003-09-15
Paul, R.: End-to-end integration testing. In: APAQS 2001: Proceedings of the Second Asia-Pacific Conference on Quality Software, p. 211. IEEE Computer Society, Washington (2001)
Piel, É., Gonzalez-Sanchez, A.: Data-flow integration testing adapted to runtime evolution in component-based systems. In: Workshop Software Integration and Evolution @ Runtime. ACM, Amsterdam (August 2009)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an emerging discipline. Prentice-Hall, Englewood Cliffs (1996)
Suliman, D., Paech, B., Borner, L., Atkinson, C., Brenner, D., Merdes, M., Malaka, R.: The MORABIT approach to runtime component testing. In: 30th Annual International Computer Software and Applications Conference. pp. 171–176 (Septmeber 2006)
Thales Group: Maritime safety and security (2007), http://www.thalesgroup.com/Portfolio/Security/D3S_Maritime_Safety_and_security/
Vincent, J., King, G., Lay, P., Kinghorn, J.: Principles of built-in-test for run-time-testability in component-based software systems. Software Quality Journal 10(2), 115–133 (2002)
Yuan, X., Memon, A.M.: Generating event sequence-based test cases using GUI run-time state feedback. IEEE Transactions on Software Engineering 36(1) (2010)
Zhu, H., He, X.: A Methodology of Component Integration Testing. In: Testing Commercial-off-the-Shelf Components and Systems, pp. 239–269. IEEE Computer Society, Los Alamitos (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 IFIP International Federation for Information Processing
About this paper
Cite this paper
Piel, É., Gonzalez-Sanchez, A., Gross, HG. (2010). Built-In Data-Flow Integration Testing in Large-Scale Component-Based Systems. In: Petrenko, A., Simão, A., Maldonado, J.C. (eds) Testing Software and Systems. ICTSS 2010. Lecture Notes in Computer Science, vol 6435. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16573-3_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-16573-3_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16572-6
Online ISBN: 978-3-642-16573-3
eBook Packages: Computer ScienceComputer Science (R0)