AOP切入点故障注入测试技术研究

AOP切入点故障注入测试技术研究

论文摘要

面向方面的程序设计(Aspect-Oriented Programming,AOP)是最新流行的一种软件开发技术,是对面向对象软件开发方法的进一步发展和补充。AOP的主要目标是分离关注点,将所有关注点分离成核心关注点和横切方面。使用AOP可以减少代码纠缠和混乱状况。不过,这样在形成新的代码片断或量化指令的同时也可能会引入新的bug。因此,AOP测试的研究也应该随着AOP的广泛应用而越来越受到人们的重视。现在的面向方面软件开发(Aspect-Oriented Software Development, AOSD)的研究大部分集中于问题的分析、软件设计和执行技术。虽然应用面向方面开发技术最终能开发出高质量的软件,但是面向方面也不能保证软件在应用和开发中不会出错。面向方面的程序开发语言加强了编码类型的规范,但是这也不能防护程序员的错误或对规格说明书的不充分理解。结果在面向方面的软件开发中软件测试仍然是一项非常重要的任务。基于AOP自身的特点,一些现有的传统的测试架构和测试技术不能直接的应用于面向方面程序。这些特殊性在测试过程中需要特殊考虑。因此需要对面向方面的软件测试进行深入地研究,寻求合适的测试方法和测试架构,设计更有效的测试用例。本文对面向方面的软件开发中可能会出现的一些故障进行了详细的分析,得出了AOP故障类型。此故障类型为面向方面的测试提供了很好的指导作用,可以作为面向方面测试研究和应用的依据。程序中有很多故障是隐性的,不易被发现的。简单使用覆盖规则测试,很难覆盖被测程序的所有分支,为此采用程序变异的方法对被测软件进行故障注入,用强制的方法执行被测分支,使隐性的故障变为显性的故障暴露出来,从而提高测试的覆盖率。本文以AOP故障分类为基础,结合基于变异的故障注入技术,提出了基于故障分类的AOP故障注入测试过程。以AOP切入点故障类型为指导,研究了切入点变异体的生成方法。将基于变异的故障注入技术应用于面向方面程序测试,提高了测试的覆盖率,并能检测测试用例集的灵敏性。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题的意义和目的
  • 1.2 国内外研究现状
  • 1.2.1 基于模型方法的面向方面程序测试
  • 1.2.2 基于状态的面向方面测试方法
  • 1.2.3 基于数据流的对类和方面的测试
  • 1.2.4 基于方面流图生成横跨类和方面的测试集
  • 1.2.5 检查AspectJ 中冗余的单元测试
  • 1.2.6 无编织的方面单元测试架构
  • 1.3 课题研究的背景知识
  • 1.3.1 AOP 的概念
  • 1.3.2 AspectJ 概述
  • 1.3.3 面向方面程序设计的步骤
  • 1.3.4 AOP 与OOP 的不同
  • 1.3.5 AOP 的研究现状及发展趋势
  • 1.4 本文的主要工作
  • 1.5 论文的组织结构
  • 第二章 AOP 故障类型分析
  • 2.1 AOP 的技术特性
  • 2.1.1 关注点分离
  • 2.1.2 横切技术
  • 2.2 AOP 易发故障的原因
  • 2.3 AOP 故障类型
  • 2.3.1 切入点模式强弱不均
  • 2.3.2 不正确的方面优先级
  • 2.3.3 设立期望的后置条件失败
  • 2.3.4 保持状态不变量的状态失败
  • 2.3.5 使用控制流指示符定位不正确
  • 2.3.6 控制流依赖不正确的变化
  • 2.3.7 异常导致控制流不正确的变化
  • 2.3.8 类型间声明引起的失败
  • 2.3.9 多形态调用不正确的变化
  • 2.4 小结
  • 第三章 AOP 切入点测试
  • 3.1 AOP 切入点概述
  • 3.1.1 pointcut 的结构
  • 3.1.2 pointcut 的模式
  • 3.2 AOP 切入点故障类型
  • 3.2.1 不正确的模式
  • 3.2.2 不正确的原始切入点选择
  • 3.2.3 不正确的动态环境匹配
  • 3.2.4 不正确的切入点合成
  • 3.3 切入点测试
  • 3.3.1 测试AOP 切入点描述
  • 3.3.2 AspectJ 程序的自动的切入点测试
  • 3.4 小结
  • 第四章 基于变异的故障AOP 切入点测试技术
  • 4.1 基于变异的故障注入技术
  • 4.2 基于故障类型的AOP 故障注入测试过程
  • 4.3 基于变异的故障注入应用于切入点测试的分析
  • 4.4 切入点变异体的生成
  • 4.4.1 基于切入点类型名称的变异
  • 4.4.2 基于指示符的变异
  • 4.4.3 基于切入点签名中参数的变异
  • 4.4.4 基于切入点组合的变异
  • 4.5 切入点故障注入测试实例
  • 4.6 小结
  • 第五章 总结与展望
  • 5.1 工作总结
  • 5.2 工作展望
  • 参考文献
  • 成果目录
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    AOP切入点故障注入测试技术研究
    下载Doc文档

    猜你喜欢