Modeling and Testing of Aspect-Oriented Systems
Aspect-Oriented programming modularizes crosscutting concerns into Aspects, which are automatically weaved to the specified points of a program. Although Aspect-Oriented programming improves program maintainability and the encapsulation of crosscutting concerns, it also breaks some traditional programming rules due to the weaving mechanism. Therefore, a new software testing approach has to be developed to rigorously test Aspect-Oriented programs. In this thesis, we introduce the concept of Aspect modeling and Aspect testing and then proceed to our investigation of a model-based incremental approach for testing Aspect-Oriented programs. First, a state machine model in UML is created for each Aspect and each base class, which is the class to be weaved with the aspect. Then each individual aspect or base class is tested using the test cases generated from state machine models. A combined state machine model is established by weaving the aspect model into the base class model. Finally, we perform a test on the woven program using test cases generated from the combined state machine model. Because the number of scenarios for weaving aspects and base classes could be very large, it may require a huge number of test cases to effectively test the program. To speed up the process, we propose a prioritizing strategy for selecting test cases in order to find errors sooner since different test cases have different capacity for tracking errors. We demonstrate that the test cases generated from the state machine model have to satisfy the adequacy of the transition coverage, the round-trip coverage, and the state coverage in the state machine model. Furthermore, the prioritizing strategy is developed based on the number of changes brought by weaving of an aspect and its base classes. The test case including more changes will have a higher priority. The effectiveness of the investigated strategy is evaluated through the case study and the mutation testing. The result of case study shows that the model-based incremental approach integrated with prioritizing test case selection provides an effective tool for testing large-scale Aspect-Oriented systems.
Jiang, Wenhuan. (January 2011). Modeling and Testing of Aspect-Oriented Systems (Master's Thesis, East Carolina University). Retrieved from the Scholarship. (http://hdl.handle.net/10342/3752.)
Jiang, Wenhuan. Modeling and Testing of Aspect-Oriented Systems. Master's Thesis. East Carolina University, January 2011. The Scholarship. http://hdl.handle.net/10342/3752. September 20, 2018.
Jiang, Wenhuan, “Modeling and Testing of Aspect-Oriented Systems” (Master's Thesis., East Carolina University, January 2011).
Jiang, Wenhuan. Modeling and Testing of Aspect-Oriented Systems [Master's Thesis]. Greenville, NC: East Carolina University; January 2011.
East Carolina University