基于遗传蚁群算法的测试数据自动生成

基于遗传蚁群算法的测试数据自动生成

论文摘要

随着软件技术的发展和软件项目规模的不断扩大,软件测试的作用越来越重要。在软件测试中,测试数据的选择是进行结构测试的一个难题,测试数据合适与否直接关系到错误能否被预期测出。对于测试数据自动化生成方法,目前虽然有一些方法被提出并使用,但由于其局限性,在实际中还没有完善的解决方法,只能凭借工程经验判断。在此背景下,本文使用遗传算法和蚁群算法相结合来进行对测试数据自动生成方法的研究。本文首先介绍了软件测试的基本理论和测试数据的自动生成方法。对于软件测试技术,介绍了软件测试的概念、分类,然后介绍了几种测试数据生成的方法,并在系统地比较之后指出人工智能技术在这一领域将大有作为。随后,本文分别介绍了遗传算法和蚁群算法的基本原理、实现步骤和各自的优缺点。从而进一步根据二者优势互补的特性,提出采用混合算法以提高算法的性能。紧接着,作者提出了基于遗传蚁群算法的测试数据自动生成系统的框架结构,并重点阐述了系统实现过程中需要解决的一些关键技术:如编码问题、适应度函数的问题和遗传算子的改进等。在解决了这些关键技术之后,采用VC++语言编程实现了测试用例自动生成系统的核心算法:遗传蚁群算法,并采用Java开发了图形用户界面。图形用户界面先后调用语言解析器和遗传蚁群算法,共同完成指定路径的测试数据的自动生成。最后作者以一条实际路径为例,详细阐述了所开发的工具软件的使用方法,并运用该工具软件成功的为该路径生成了测试数据。实验结果显示,该工具软件比较实用和有效,能够完成指定路径的测试数据的自动生成。当然也还存在实时性较差、能处理的数据类型较少等问题,因此在结束语中针对这些问题指出了下一步进行研究的方向和工作重点。

论文目录

  • 摘要
  • Abstract
  • 第1章 绪论
  • 1.1 研究背景及意义
  • 1.2 研究现状
  • 1.3 研究内容
  • 1.4 研究框架与论文结构
  • 第2章 软件测试及测试数据自动生成的方法
  • 2.1 软件测试
  • 2.1.1 软件测试的定义
  • 2.1.2 软件测试的目的
  • 2.1.3 软件测试的原则
  • 2.2 软件测试技术分类
  • 2.2.1 静态测试
  • 2.2.2 动态测试
  • 2.3 测试数据生成方法
  • 第3章 遗传蚁群算法
  • 3.1 遗传算法
  • 3.1.1 遗传算法描述
  • 3.2 遗传算法的构成要素
  • 3.2.1 遗传算法的编码
  • 3.2.2 种群规模的设定
  • 3.2.3 适应度函数
  • 3.2.4 遗传操作
  • 3.2.5 控制参数和终止条件
  • 3.3 蚁群算法
  • 3.3.1 蚁群算法原理
  • 3.3.2 蚁群算法模型
  • 3.3.3 蚁群算法特征
  • 3.4 混合算法
  • 第4章 遗传蚁群算法应用于测试数据的自动生成
  • 4.1 系统框架
  • 4.2 参数的编码
  • 4.2.1 参数的选取
  • 4.2.2 参数编码的原则
  • 4.2.3 多参数的编码方法
  • 4.2.4 不同数据类型的编码
  • 4.3 适应度函数的改进
  • 4.3.1 数值型数据适应度函数的改进
  • 4.3.2 非数值型数据适应度函数的改进
  • 4.4 程序插装方式的改进
  • 4.5 GAAA算法的设计
  • 4.5.1 GAAA流程图
  • 4.5.2 GAAA基本步骤
  • 第5章 实验
  • 5.1 工具演示
  • 5.2 效果分析
  • 5.3 实验结论
  • 第6章 结论与展望
  • 6.1 研究结论
  • 6.2 进一步展望
  • 参考文献
  • 攻读学位期间公开发表论文
  • 致谢
  • 研究生履历
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于遗传蚁群算法的测试数据自动生成
    下载Doc文档

    猜你喜欢