Skip to Main Content
Aspect-oriented software development is an emerging software engineering paradigm. It provides new constructs and tools to improve separation of crosscutting concerns into single units called aspects. The aspect paradigm introduces, in fact, new abstractions in software development. AspectJ is an aspect-oriented extension for Java. Actually, 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, the aspect paradigm introduces new dimensions in terms of control and complexity. New dependencies between aspects and classes result in new testing challenges. In fact, aspects can interact with any class in a program. Interactions between aspects and classes are new sources for program faults. Object-oriented testing techniques do not cover the new dimensions introduced by aspects. Thus, new aspect-oriented testing techniques must be developed. We propose, in this paper, a new technique to generate test sequences based on the dynamic interactions between aspects and classes. We focus, in particular, on the integration of one or more aspects in a collaboration between a group of objects. The paper also introduces associated testing criteria. The proposed approach follows an iterative process.