In recent years, Aspect Oriented Programming (AOP) has become an emerging technology due to its ability to support the separation of concerns in software development. In particular, AOP allows application requirements to be implemented in separated modules while weaving them together without code tangling. However, this feature also raises a concern about the quality and reliability of AOP programs. Most specifically, the AOP programming constructs, such as join point, pointcut, advice, and aspect, can change the dynamic behavior1 of original base modules and need to be tested thoroughly to ensure the correctness of AOP programs. In this paper, we propose a state-based testing approach for AOP programs. The approach considers the state-based behavior^2 changes introduced by different advices in multiple aspects. A test model is presented to abstract the state-based behavior of AOP program with the consideration of the interactions between the base modules and aspects. Based on the model, test cases can be derived so as to uncover the potential state behavior errors in the AOP programs. In addition, an example is provided to show the effectiveness of the proposed approach.
關聯:
Journal of Information Science and Engineering 24卷1期 P.11-31