Abstract
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 coverage of 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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Zhu, H., Hall, P.A.V., May, J.H.R.: Software unit test coverage and adequacy. ACM Computing Surveys (CSUR) 29(4), 366–427 (1997)
Juristo, N., Moreno, A.M., Vegas, S.: Reviewing 25 Years of Testing Technique Experiments. Journal of Empirical Software Engineering 9(1-2), 7–44 (2004)
Frankl, P.G., Weyuker, E.J.: An Applicable Family of Data Flow Testing Criteria. IEEE Transactions of Software Engineering 14(10), 1483–1498 (1988)
Pavlopoulou, C., Young, M.: Residual test coverage monitoring. In: ICSE 1999: Proceedings of the 21st international conference on Software engineering, pp. 277–284. IEEE Computer Society Press, Los Alamitos (1999)
Craig, R.D., Jaskiel, S.P.: Systematic Software Testing. Artech House Publishers (2002)
van Veenendaal, E.: The Testing Practitioner. Uitgeverij Tutein Nolthenius (2002)
Copeland, L.: A Practitioner’s Guide to Software Test Design. STQE Publishing (2003)
Crnkovic, I., Larsson, M.: Building Reliable Component-Based Software Systems. Artech House Publishers (2002)
Lau, K.K., Wang, Z.: A Survey of Software Component Models, 2nd edn., May 2006. Pre-print CSPP-38, School of Computer Science, The University of Manchester (2006)
Shaw, M., Garland, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)
Sundmark, D., Pettersson, A., Sandberg, C., Ermedahl, A., Thane, H.: Finding DU-Paths for Testing of Multi-Tasking Real-Time Systems using WCET Analysis. In: Proceedings of the 7thInternational Workshop on Worst-Case Execution Time Analysis (WCET 2007) (July 2007)
Pretschner, A.: Compositional Generation of MC/DC Integration Test Suites. Electronic Notes in Theoretical Computer Science 82(6) (2003)
Goldberg, A., Wang, T.C., Zimmerman, D.: Applications of Feasible Path Analysis to Program Testing. In: ISSTA 1994: Proceedings of the 1994 ACM SIGSOFT international Symposium on Software Testing and Analysis, pp. 80–94. ACM Press, New York (1994)
Gustafsson, J., Ermedahl, A., Lisper, B.: Algorithms for Infeasible Path Calculation. In: Sixth International Workshop on Worst-Case Execution Time Analysis (WCET 2006), Dresden, Germany (July 2006)
Hayes, I., Fidge, C., Lermer, K.: Semantic Characterisation of Dead Control-Flow Paths. IEE Proceedings - Software 148(6), 175–186 (2001)
Åkerholm, M., Carlson, J., Fredriksson, J., Hansson, H., Håkansson, J., Möller, A., Pettersson, P., Tivoli, M.: The SAVE approach to component-based development of vehicular systems. Journal of Systems and Software 80(5), 655–667 (2007)
Nierstrasz, O., Arévalo, G., Ducasse, S., Wuyts, R., Black, A.P., Müller, P.O., Zeidler, C., Genssler, T., van den Born, R.: A component model for field devices. In: Proc. of the 1st Int. IFIP/ACM Working Conference on Component Deployment, pp. 200–209. Springer, Heidelberg (2002)
Sun Microsystems: JavaBeans Specification 1.01 (August 1997), http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html
Box, D.: Essential COM. Addison-Wesley, Reading (1997)
van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. IEEE Computer 33(3), 78–85 (2000)
Lundbäck, K.L., Lundbäck, J., Lindberg, M.: Component Based Development of Dependable Real-Time Applications. Technical report, Arcticus Systems, http://www.arcticus.se
Sandström, K., Fredriksson, J., Åkerholm, M.: Introducing a component technology for safety critical embedded realtime systems. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 194–209. Springer, Heidelberg (2004)
Ke, X., Sierszecki, K., Angelov, C.: COMDES-II: A Component-Based Framework for Generative Development of Distributed Real-Time Control Systems. In: Proc. of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, pp. 199–208. IEEE, Los Alamitos (2007)
Bureš, T., Carlson, J., Crnković, I., Sentilles, S., Vulgarakis, A.: ProCom - the Progress Component Model Reference Manual, version 1.0. Technical Report MDH-MRTC-230/2008-1-SE, Mälardalen University (June 2008)
RTCA: Software Considerations in Airborne Systems and Equipment Certification, RTCA/DO-178B. RTCA (December 1992)
Yang, C.S.D., Pollock, L.L.: All-uses Testing of Shared Memory Parallel Programs. Software Testing, Verification and Reliability 13(1), 3–24 (2003)
Chilenski, J.J., Miller, S.P.: Applicability of Modified Condition/Decision Coverage to Software Testing. Software Engineering Journal, 193–200 (1994)
Groß, H.G., Mayer, N.: Evolutionary testing in component-based real-time system construction. In: GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, San Francisco, CA, USA, p. 1393. Morgan Kaufmann Publishers Inc., San Francisco (2002)
Mao, C., Lu, Y.: Regression testing for component-based software systems by enhancing change information. In: APSEC 2005: Proceedings of the 12th Asia- Pacific Software Engineering Conference, Washington, DC, USA, pp. 611–618. IEEE Computer Society, Los Alamitos (2005)
Pelliccione, P., Muccini, H., Bucchiarone, A., Facchini, F.: TeStor: Deriving Test Sequences from Model-based Specifications. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 267–282. Springer, Heidelberg (2005)
Weyuker, E.J.: Testing Component-Based Software: A Cautionary Tale. IEEE Softw. 15(5), 54–59 (1998)
Katayama, T., Itoh, E., Ushijima, K., Furukawa, Z.: Test-Case Generation for Concurrent Programs with the Testing Criteria Using Interaction Sequences. In: Proceedings of sixth Asia-Pacific Software Engineering Conference (APSEC 1999), p. 590 (1999)
Taylor, R.N., Levine, D.L., Kelly, C.D.: Structural Testing of Concurrent Programs. IEEE Transactions on Software Engineering 18(3), 206–215 (1992)
Wong, W.E., Lei, Y., Ma, X.: Effective Generation of Test Sequences for Structural Testing of Concurrent Programs. In: Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2005), Washington, DC, USA, pp. 539–548. IEEE Computer Society, Los Alamitos (2005)
Yang, R.D., Chung, C.G.: Path Analysis Testing of Concurrent Program. Information and Software Technology 34(1), 43–56 (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sundmark, D., Carlson, J., Punnekkat, S., Ermedahl, A. (2008). Structural Testing of Component-Based Systems. In: Chaudron, M.R.V., Szyperski, C., Reussner, R. (eds) Component-Based Software Engineering. CBSE 2008. Lecture Notes in Computer Science, vol 5282. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87891-9_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-87891-9_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-87890-2
Online ISBN: 978-3-540-87891-9
eBook Packages: Computer ScienceComputer Science (R0)