Towards a Tool Supporting Integration Testing of Aspect-Oriented Programs.

Philippe Massicotte, Linda N. Badri, Mourad Badri · The Journal of Object Technology · 2007

Aspect-Oriented Programming is an emerging software engineering paradigm.It offers new constructs and tools improving separation of crosscutting concerns into single units called aspects.AspectJ, the most used aspect-oriented programming language, represents an extension of Java.In fact, existing object-oriented programming languages suffer from a serious limitation in modularizing adequately crosscutting concerns in a program.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.Moreover, existing object-oriented testing methods (unit and integration testing) are not well adapted to the aspect technology.As a consequence, new testing techniques must be developed for aspect-oriented programs.We present, in this paper, a new aspects-classes integration testing strategy and the associated tool.The adopted approach consists of two main phases: (1) static analysis: generating testing sequences based on 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.

Read the paper · More papers on PaperTik