基于CHAM描述的类簇级测试用例生成方法研究

基于CHAM描述的类簇级测试用例生成方法研究

论文摘要

面向对象技术以它独有的优越性被程序员广泛使用,使得软件开发过程简单化,系统模块化以及重用性程度提高等等,这给软件行业带来了光明的前途,但面向对象技术因具有封装、继承以及多态等特性,又使得软件测试变得困难。 在面向对象测试中,类簇级测试的焦点是对簇中类的不同方法之间交互的测试。从国内外研究现状来看,类级测试的研究较多,而类簇级的测试相对较少,目前的类簇级测试方法有基于状态的测试,基于数据流的测试,基于形式化规格说明的测试等。 本文提出了一种基于CHAM描述的面向对象类簇级测试用例生成方法。该方法选择化学抽象机CHAM(Chemical Abstract Machine)作为建模工具,CHAM通过反应规则能有效反映系统动态行为,所以选择CHAM对类之间的交互关系进行形式化建模;另外,标号迁移系统LTS(Labelled Transition System)作为系统动态行为的描述工具,所以选择LTS来描述CHAM模型中类簇的动态行为,由此产生用于类簇测试的测试用例。测试用例的生成包括三个步骤:首先是用CHAM对面向对象中的类簇进行规格说明;其次根据该规格说明,推导出相应的LTS;最后在LTS的基础上,采用McCabe基本路径测试理论,得到反映类簇交互行为的测试用例,即消息传递序列。 在上述研究的基础上,本文作者通过一个实例详细论述了方法的每个步骤及其算法。最后,论述了基于CHAM描述的面向对象类簇级测试用例生成自动化支持工具的设计思想,这给该工具的实现提供了基础。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 论文的研究背景及意义
  • 1.2 面向对象类簇级测试方法研究现状
  • 1.2.1 基于状态的簇级测试
  • 1.2.2 基于事件的簇级测试
  • 1.2.3 基于形式化规格说明的簇级测试
  • 1.2.4 其他集成测试方法研究
  • 1.3 现状分析
  • 1.4 本文的研究目标和内容
  • 1.4.1 研究目标
  • 1.4.2 研究内容
  • 1.5 论文的组织结构
  • 第二章 基于CHAM描述的类簇级测试基础
  • 2.1 面向对象类簇级测试
  • 2.1.1 面向对象的特点及其对测试的影响
  • 2.1.2 面向对象软件的测试策略
  • 2.1.3 类簇的定义
  • 2.1.4 测试对象
  • 2.2 基于CHAM的类簇级测试基础
  • 2.2.1 化学抽象机CHAM
  • 2.2.1.1 化学抽象机CHAM的概念
  • 2.2.1.2 CHAM形式化语法
  • 2.2.1.3 CHAM形式化语义
  • 2.2.1.4 CHAM中的反应规则
  • 2.2.1.5 用CHAM描述软件体系结构
  • 2.2.2 标号迁移系统LTS
  • 2.2.3 由LTS产生测试用例
  • 2.2.3.1 环形复杂性
  • 2.2.3.2 THOMAS J.McCabe基本路径测试方法
  • 第三章 基于CHAM描述的测试用例生成算法
  • 3.1 CHAM描述
  • 3.2 从CHAM描述导出LTS
  • 3.2.1 反应规则分类研究
  • 3.2.2 LTS生成算法
  • 3.2.2.1 相关定义
  • 3.2.2.2 LTS生成算法
  • 3.3 从LTS产生测试用例
  • 第四章 实例研究:生产者-消费者问题
  • 4.1 用CHAM对“生产者-消费者问题”进行描述
  • 4.1.1 问题描述
  • 4.1.2 CHAM规格说明
  • 4.1.3 初始溶液的定义
  • 4.1.4 反应规则
  • 4.2 由CHAM描述导出LTS
  • 4.2.1 系统动态行为模拟
  • 4.2.2 从CHAM描述导出LTS
  • 4.3 根据LTS生成测试路径
  • 第五章 基于CHAM描述的类簇级测试用例生成工具的设计
  • 5.1 基于CHAM描述的面向对象簇级测试用例生成系统CCTS
  • 5.1.1 CCTS的功能和特点
  • 5.1.2 CCTS的构成
  • 5.2 实例测试执行过程原理
  • 第六章 结论与展望
  • 参考文献
  • 攻读硕士学位期间发表的论文
  • 附录:生产者—消费者问题的动态行为模拟
  • 致谢
  • 相关论文文献

    • [1].CHAM软件连接形式化模型研究[J]. 河南科技 2012(02)
    • [2].基于CHAM的软件连接件形式化模型[J]. 信息与电脑(理论版) 2013(18)

    标签:;  ;  ;  ;  ;  ;  

    基于CHAM描述的类簇级测试用例生成方法研究
    下载Doc文档

    猜你喜欢