文档介绍:上海交通大学
硕士学位论文
面向方面程序的方面交互测试工具的设计与实现
姓名:庄旭杰
申请学位级别:硕士
专业:计算机应用技术
指导教师:赵建军
20070101
上海交通大学硕士学位论文 Abstract
面向方面程序的方面交互测试工具的设计与实现
摘要
多年以来,面向对象编程(Object-Oriented Programming,OOP)
作为软件开发领域的主要编程范式,大大提高了软件代码的模块性、
可重用性,降低了软件的复杂度以及软件的维护成本。然而随着面向
对象编程的不断发展,它所带来的代码分散(code scattering)和代码
纠缠(code tangling)问题也日益严重。面向方面编程(Aspect-Oriented
Programming,AOP)是在面向对象编程基础上提出的一种较新的编
程范式。它可以很好地解决代码分散和代码纠缠问题,使系统易于设
计和扩展。面向方面软件开发(Aspect-Oriented Software Development,
AOSD)将核心关注点和横切关注点分离,核心关注点仍然用面向对
象的方法解决,横切关注点则用面向方面的方法解决,提高了代码开
发的质量和效率以及系统的模块化、可重用性和扩展性。AOSD 是未
来软件发展方向之一。
然而,AOP 封装横切关注点的特殊结构与面向对象程序有着很大
的不同,这就为测试 AOP 程序带来了极大的困难。同时,许多面向
对象程序的测试工具已不再适用于面向方面程序,随着 AOP 的广泛
应用和实践的不断深入,软件工程实践者们迫切需要一种与 AOP 技
术对应的程序测试工具,以支持面向方面程序的集成测试和回归测
- I -
上海交通大学硕士学位论文 Abstract
试。
本文基于上述需求,通过分析研究 AspectJ 程序的特殊构造、编
织规律和字节码特征,开发出了用于测试方面之间交互的工具。方
面之间交互测试作为面向方面集成测试和回归测试的核心,集中体现
了面向方面编程的特征,对面向方面的程序重构、测试以及面向方面
软件开发的发展有着重要的意义。现在国内外对面向方面测试领域的
研究还比较少,而且研究也主要集中在对单元测试上,对方面之间交
互的测试的研究还没有。本文基于面向方面的语言特性、方面交互的
错误模型和 AspectJ 字节码的分析的基础上,开发出了测试面向方面
交互的工具 Aspat。
本课题的研究第一次详细提出方面交互的概念及开发 Aspat 工
具,并针对面向方面程序的方面交互错误模型的特点及面向方面程序
中的特殊语言元素交互提出了具体的解决方案。测试人员可以通过利
用 Aspat 提供的接口编写测试用例实现自动化的集成测试和回归测
试,检测出面向方面程序中可能有的方面交互的错误,很好提高面向
方面程序的正确性和健壮性。同时,它在有效性、适用性和性能等方
面都有着不错的表现。
关键词:错误模型,面向方面编程,AspectJ,Aspat,测试用例
- II -
上海交通大学硕士学位论文 Abstract
DESIGN AND IMPLEMENTATION OF TESTING
ASPECTS INTERACTION TOOL FOR
ASPECT-ORIENTED PROGRAMS
ABSTRACT
As the main programming paradigm of software development for
many years, Object-Oriented Programming (OOP) has greatly improved
the modularity, reusability of software codes and reduced plexity
of software and its maintenance cost. However,the problems of code
scattering and code tangling have e more and more important with
the development of object-oriented programming. Aspect-Oriented
Programming (AOP), a newer programming paradigm which is based on
object-oriented programming, can solve the pro