Abstract
Aspect-Oriented Programming is an emerging software engineering paradigm. It provides new constructs and tools improving separation of crosscutting concerns into single units called aspects. In fact, existing object-oriented programming languages suffer from a serious limitation in modularizing adequately crosscutting concerns. Many concerns crosscut several classes in an object-oriented system. However, new dependencies between aspects and classes result in new testing challenges. Interactions between aspects and classes are new sources for program faults. Existing object-oriented testing methods (unit and integration testing) are not well adapted to the aspect technology. Thus, new testing techniques must be developed for aspect-oriented software. We present, in this paper, a new aspects-classes integration testing strategy. The adopted approach consists of two main phases: (1) static analysis: generating test sequences based on the dynamic interactions between aspects and classes, (2) dynamic analysis: verifying the execution of the selected sequences. We focus, in particular, on the integration of one or more aspects in the control of collaborating classes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abdurazik, A., Offutt, J.: Using UML Collaboration Diagrams for Static Checking and Test Generation. In: Third Internationl Conference on The Unified Modeling Language (UML 2000), York, UK (October 2000)
Alexander, R., Bieman, J., Andrews, A.: Towards the Systematic Testing of Aspect-Oriented Programs, Technical Report CS-4-105, Colorado State University, Fort Collins, Colorado, USA (March 2004)
Aspect-Oriented Software Development Web Site (AOSD), http://aosd.net/
AspectJ, T.: The AspectJTM Programming Guide (2002)
AspectJ Web Site, http://eclipse.org/aspectj/
Badri, M., Badri, L., Naha, M.: A use Case Driven Testing Process: Toward a Formal Approach Based on UML Collaboration Diagrams. In: Petrenko, A., Ulrich, A. (eds.) FATES 2003. LNCS, vol. 2931, pp. 223–235. Springer, Heidelberg (2004)
Ball, T.: On the Limit of Control Flow Analysis for Regression Test Selection. In: Proceedings of ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 1998), ACM Software Engineering Notes, New York, March 1998, vol. 23(2) (1998)
Baltus, J.: La Programmation Orientée Aspect et AspectJ : Présentation et Application dans un Système Distribué. In: Mini-Workshop: Systèmes Coopératifs. Matière Approfondie, Institut d’informatique, Namur (2001)
Beizer, B.: Software Testing Techniques. International Thomson Comuter Press (1990)
Larman, C.: UML et les Design Patterns, 2nd edn. Campus Press (2003)
Massicotte, P., Badri, M., Badri, L.: Generating Aspects-Classes Integration Testing Sequences: A Collaboration Diagram Based Strategy. In: 3rd ACIS International Conference on Software Engineering Research, Management & Applications (SERA 2005), IEEE CSP, Central Michigan University, Mt. Pleasant, Michigan, USA (August 2005)
Mortensen, M., Alexander, R.: Adequate Testing of Aspect-Oriented Programs, Technical report CS 04-110, Colorado State University, Fort Collins, Colorado, USA (December 2004)
Offutt, J., Abdurazik, A.: Generating Tests from UML Specications. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 416–429. Springer, Heidelberg (1999)
Offutt, J., Voas, J.: Subsumption of Condition Coverage Techniques by Mutation Testing, ISSE-TR-96-01 (January 1996)
Offutt, J., Xiong, Y., Liu, S.: Criteria for Generating Specification-based Tests. In: Fifth IEEE International Conference on Engineering of Complex Computer Systems, ICECCS 1999 (1999)
Rational Software Corporation. Rational Rose 1998: Using Rational Rose, Rational Rose Corporation, Cupertino CA (1998)
Walker, R., Baniassad, E., Murphy, G.: An initial assessment of aspect-oriented programming. In: Proceedings of the 21st International Conference on Software Engineering, Los Angeles, CA (May 1999)
Wu, Y., Chen, M.-H., Offutt, J.: UML-based Integration Testing for Component-based Software. In: Proceedings of the Second International Conference on COTS-Based Software Systems (September 2002)
Xie, T., Zhao, J., Notkin, D.: Automated Test Generation for AspectJ Programs. In: Proceedings of the AOSD 2005 Workshop on Testing Aspect-Oriented Programs (WTAOP 2005), Chicago (March 2005)
Xu, D., Xu, W., Nygard, K.: A State-Based Approach to Testing Aspect-Oriented Programs, Technical report, North Dakota University, Department of Computer Science, USA (2004)
Zhao, J.: Tool support for unit testing of aspect-oriented software. In: Proceedings OOPSLA 2002 Workshop on Tools for Aspect-Oriented Software Development (November 2002)
Zhou, Y., Richardson, D., Ziv, H.: Towards a Practical Approach to test aspect-oriented software. In: Proc. 2004 Workshop on Testing Component-based Systems (TECOS 2004), Net. ObjectiveDays (September 2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Massicotte, P., Badri, L., Badri, M. (2006). Aspects-Classes Integration Testing Strategy: An Incremental Approach. In: Guelfi, N., Savidis, A. (eds) Rapid Integration of Software Engineering Techniques. RISE 2005. Lecture Notes in Computer Science, vol 3943. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11751113_12
Download citation
DOI: https://doi.org/10.1007/11751113_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34063-8
Online ISBN: 978-3-540-34064-5
eBook Packages: Computer ScienceComputer Science (R0)