面向方面程序的单元测试技术研究

面向方面程序的单元测试技术研究

论文摘要

作为一种全新的技术,面向方面编程(AOP)凭借模块化横切关注点的能力受到越来越广泛的认可。同其他编程语言一样,在带来优势的同时,面向方面编程也带来了不少的挑战。方面语言的新特征使得传统的测试技术无法直接对方面程序进行检测,缺乏成熟的方面测试技术无疑会成为阻碍面向方面软件编程大规模应用的瓶颈问题。论文分析研究了方面程序单元测试中的核心问题,并针对AspectJ程序提出一套测试方面行为的方法。通过与国内外方面程序单元测试问题研究现状比较,指出该方法的优势所在。课题从测试实施和测试自动化角度出发,研究了方面程序单元测试框架和测试数据自动生成方案。测试框架以Java注释符和反射机制为基础,建立方面程序到被测对象间的关联;分析和研究编译后方面行为特征符,构造出方面解析机制。综合运用随机测试数据生成、相对测试充分性准则的优化和指定路径的测试数据生成等技术实现测试过程的自动化。本文实现了针对AspectJ程序自动生成单元测试的工具AJUnit,包含测试数据自动生成器、测试代码自动生成器和核心测试框架三大部分。最后,对AspectJ程序实例进行了测试和分析。本文研发的测试工具为方面程序单元测试提供了便利,对方面程序的可靠性和可信性提供了一定的保证,提高了面向方面软件开发的效率。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题研究背景和意义
  • 1.2 课题研究内容
  • 1.3 论文结构
  • 1.4 论文的研究成果
  • 第二章 方面程序测试
  • 2.1 AOP 概述
  • 2.1.1 横切关注点问题
  • 2.1.2 AOP 实现原理
  • 2.1.3 AOP 语言剖析
  • 2.1.4 使用AOP 的好处
  • 2.2 AOP 与软件测试技术
  • 2.2.1 软件测试方法
  • 2.2.2 AOP 技术在测试中的应用
  • 2.2.3 方面程序测试
  • 2.3 AspectJ
  • 2.3.1 AspectJ 简介
  • 2.3.2 AspectJ 语言机制
  • 2.4 本章小结
  • 第三章 方面程序单元测试
  • 3.1 方面程序单元测试简介
  • 3.1.1 方面程序单元测试目标
  • 3.1.2 方面程序单元测试测试对象分类
  • 3.1.3 方面程序单元测试存在的问题
  • 3.2 方面程序单元测试解决途径
  • 3.3 相关研究工作
  • 3.4 本章小结
  • 第四章 免织入测试框架
  • 4.1 织入机制简介
  • 4.2 织入后方面测试问题分析
  • 4.3 免织入测试框架
  • 4.3.1 Java5 Annotation 注释符简介
  • 4.3.2 使用annotation 建立测试映射方法
  • 4.3.3 单元测试框架原理和流程
  • 4.4 本章小结
  • 第五章 测试数据自动生成策略
  • 5.1 测试数据生成方法的研究
  • 5.2 测试数据生成方法的分析
  • 5.3 测试数据自动生成策略
  • 5.3.1 测试数据生成策略描述
  • 5.3.2 改进的自适应朗格朗日松弛算法分析
  • 5.3.3 测试数据自动生成策略流程
  • 5.4 本章小结
  • 第六章 方面程序单元测试工具设计与实现
  • 6.1 免织入自动测试工具整体设计
  • 6.1.1 设计框架
  • 6.2 核心测试框架的设计实现
  • 6.2.1 核心测试框架的设计
  • 6.2.2 测试运行平台的实现
  • 6.3 测试数据自动生成工具的设计实现
  • 6.3.1 测试数据自动生成器的原理与设计
  • 6.3.2 测试数据自动生成器的实现
  • 6.4 测试代码自动生成工具的设计实现
  • 6.4.1 测试代码生成器的原理与设计
  • 6.4.2 测试代码生成器的实现
  • 6.5 案例分析
  • 6.5.1 方面程序实例
  • 6.5.2 AJUnit 生成测试数据
  • 6.5.3 AJUnit 生成测试代码
  • 6.5.4 测试结果分析
  • 6.6 本章小结
  • 第七章 结束语
  • 7.1 全文工作总结
  • 7.2 不足和将来的工作
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    • [1].方面单元测试框架的设计与实现[J]. 计算机工程与应用 2009(01)
    • [2].基于元数据和反射的面向方面软件演化方法[J]. 电子学报 2011(08)

    标签:;  ;  ;  ;  

    面向方面程序的单元测试技术研究
    下载Doc文档

    猜你喜欢