Rapid Integration of Software Engineering Techniques Second Internat
RISE 2005 (http://rise2005.ics.forth.gr/) was the second annual inter-national workshop of the ERCIM (European Research Consortium for Informatics and Mathematics - http://www.ercim.org/) Working Group on Rapid Integration of Software Engineering techniqu
- PDF / 439,627 Bytes
- 16 Pages / 430 x 660 pts Page_size
- 22 Downloads / 171 Views
bstract. 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 objectoriented 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. Keywords: AOST, Aspects, Classes, Interactions, Sequences, Criteria, Generation, Verification, Testing Coverage.
1 Introduction Existing object-oriented programming languages suffer from a serious limitation to adequately modularize crosscutting concerns in software. The code related to these concerns is often duplicated within several classes. Aspect-Oriented Software Development (AOSD) [3] introduces new abstractions dealing with separation of crosscutting concerns in software development. By using this new technique, the code corresponding to crosscutting concerns may be separated into modular units called aspects [4]. This reduces the dispersion of the code related to crosscutting concerns and tends to improve programs modularity as stated in many papers [12, 17, 19]. In spite of the many claimed benefits that the aspect paradigm seams offering, it remains that it is not yet mature. Consequently, testing aspect-oriented software is a huge challenge. Aspect-Oriented Programming (AOP) introduces new dimensions in terms of control and complexity to software engineering. As a consequence, AOP generates N. Guelfi and A. Savidis (Eds.): RISE 2005, LNCS 3943, pp. 158 – 173, 2006. © Springer-Verlag Berlin Heidelberg 2006
Aspects-Classes Integration Testing Strategy: An Incremental Approach
159
new types of faults as mentioned in [2]. Aspects’ features are not covered by existing testing approaches as mentioned by several authors [2, 21, 22]. Testing process is an important issue in software development. It represents an essential task to ensure software quality [9]. Existing object-oriented testing methods are not well adapted to the aspect technology. The code related to aspects as well as the introduced abstractions and constructs are prone to cause new faults as stated in [2, 12]. Moreover, aspects are not complete code units and their behavior oft
Data Loading...