Abstract (EN):
By designing systems as sets of modules that can be composed into larger applications, developers unleash
a multitude of advantages. The promise of AOP (Aspect-Oriented Programming) is to enable developers to
organize crosscutting concerns into separate units of modularity making it easier to accomplish this vision.
However, AOP does not allow unit tests to be untangled, which impairs the development of properly tested
independent modules. This paper presents a technique that enables developers to encapsulate crosscutting
concerns using AOP and still be able to develop reusable unit tests. Our approach uses incremental testing
and invasive aspects to modify and adapt tests. The approach was evaluated in a medium scale project with
promising results. Without using the proposed technique, due to the presence of invasive aspects, some unit
tests would have to be discarded or modified to accommodate the changes made by them. This would have
a profound impact on the overall modularity and, in particular, on the reusability of those modules. We will
show that this technique enables proper unit tests that can be reused even when coupled with aspect-oriented
code.
Language:
English
Type (Professor's evaluation):
Scientific
No. of pages:
10
License type: