基于输出域测试用例自动生成的研究

基于输出域测试用例自动生成的研究

论文摘要

随着IT产业的持续发展,大量的软件产品已经广泛应用在各行各业,为了提高软件产品的质量,越来越多的人力、物力用于软件测试。软件测试的重点是设计测试用例,如果测试用例能够自动生成,软件测试开销将显著降低。有些大型软件,软件的输出域端有一些重要点需要检测,对于这些软件的测试用例的开发,需要从软件的输出域端进行设计,然而给定被测试软件的输出,通过软件的规格说明书生成相应的输入较为困难。因此,研究一种从被测试软件的输出域端出发自动生成测试用例的方法,提高测试用例的生成效率,降低测试开销,具有重要的理论意义和实用价值。本文针对如何使用神经网络和遗传算法技术实现基于输出域测试用例自动生成这一问题进行了详细的研究和设计。首先,为了模仿软件实现的功能,本文使用BP神经网络建立软件的功能模型,从而可以表达软件输入与输出之间的关系;然后在建立的软件功能模型上,采用本文改进的多种群遗传算法来搜索预先给定的输出相对应的输入,从而实现从输出域端出发自动生成测试数据,并对本文改进的多种群遗传算法的个体编码形式、适应度函数、遗传算子和迁移操作等进行了详细研究。在对遗传算法的改进中,首先本文提出了一种改进的多种群遗传算法,该算法采用三个具有不同进化规律的种群,第一个种群作为探测子种群,侧重全局搜索,第二个种群作为开发子种群,侧重局部搜索,第三个种群通过与前两个种群的迁移操作来平衡局部搜索和全局搜索,三个种群之间定期进行最优个体的迁移和种群初始化操作,从而提高遗传算法的搜索效率;接着在编码方式上采用了实数编码,使得个体精度高并且算法不需要编码和解码过程,提高了工作效率。随后,对利用神经网络和遗传算法实现基于输出域测试用例生成方法进行验证,对三个程序进行实验,结果表明:神经网络可以建立被测试软件的功能模型,改进的多种群遗传算法可以实现基于输出域测试用例自动生成,并通过与标准遗传算法和双种群遗传算法进行对比,改进的多种群遗传算法在很大程度上提高了测试用例生成的效率和成功率。

论文目录

  • 摘要
  • ABSTRACT
  • 目录
  • 第一章 绪论
  • 1.1 课题研究的背景和意义
  • 1.2 国内外研究的现状
  • 1.3 本文研究的主要内容
  • 1.4 本文组织结构
  • 第二章 神经网络和遗传算法
  • 2.1 神经网络技术
  • 2.1.1 神经网络的特性
  • 2.1.2 生物神经元
  • 2.1.3 人工神经元
  • 2.1.4 人工神经网络基本要素
  • 2.1.5 BP神经网络
  • 2.2 遗传算法技术
  • 2.2.1 遗传算法基本术语
  • 2.2.2 遗传算法编码技术
  • 2.2.3 种群初始化和适应度函数
  • 2.2.4 遗传算子
  • 2.2.5 遗传算法流程图
  • 2.3 本章小结
  • 第三章 被测软件的功能构建
  • 3.1 功能模型的建立流程
  • 3.2 BP神经网络训练样本的设计
  • 3.3 BP神经网络的结构设计
  • 3.3.1 BP神经网络的层数
  • 3.3.2 各层节点个数的确定
  • 3.3.3 BP神经网络层间转移函数的选取
  • 3.4 BP神经网络的网络训练
  • 3.5 BP神经网络的MATLAB实现
  • 3.5.1 BP神经网络的建立
  • 3.5.2 BP神经网络的初始化
  • 3.5.3 输入输出数据的预处理
  • 3.5.4 BP神经网络的训练和仿真
  • 3.6 本章小结
  • 第四章 利用多种群遗传算法实现基于输出域的测试用例自动生成
  • 4.1 双种群遗传算法
  • 4.2 多种群结构设计
  • 4.3 遗传算子
  • 4.3.1 编码方式
  • 4.3.2 适应度函数
  • 4.3.3 选择操作
  • 4.3.4 交叉操作
  • 4.3.5 变异操作
  • 4.4 算法描述
  • 4.5 本章小结
  • 第五章 基于输出域测试用例自动生成实验及分析
  • 5.1 构建被测软件功能模型实验结果及分析
  • 5.2 基于输出域测试用例生成实验结果及分析
  • 5.3 本章小结
  • 第六章 总结与展望
  • 6.1 本文总结
  • 6.2 工作展望
  • 参考文献
  • 附录A 图索引
  • 附录B 表索引
  • APPENDIX A. FIGURE INDEX
  • APPENDIX B. TABLE INDEX
  • 致谢
  • 攻读硕士学位期间发表的论文目录及参加的科研项目
  • 相关论文文献

    • [1].一种动态约简的多目标测试用例优先级排序方法[J]. 计算机科学 2019(12)
    • [2].一种面向路径覆盖的测试用例进化生成方法[J]. 牡丹江师范学院学报(自然科学版) 2020(01)
    • [3].航天软件测试用例设计质量的评估及提升[J]. 质量与可靠性 2020(02)
    • [4].基于运行剖面的测试用例分配与选择方法[J]. 计算机工程 2020(06)
    • [5].基于测试用例库的复用方法研究[J]. 电脑知识与技术 2018(32)
    • [6].基于变异分析的测试用例约简方法[J]. 计算机应用 2017(12)
    • [7].测试用例复用在电子采购交易平台中的应用[J]. 计算机与数字工程 2018(01)
    • [8].融入自适应迁移的路径覆盖测试用例进化生成[J]. 计算机应用研究 2016(12)
    • [9].测试用例修复的方法与工具综述[J]. 现代计算机(专业版) 2017(02)
    • [10].基于模型的软件测试用例生成方法比较研究[J]. 现代计算机(专业版) 2017(04)
    • [11].符号执行技术在测试用例生成中的应用[J]. 现代计算机(专业版) 2017(04)
    • [12].面向测试用例生成的集合进化算法实现[J]. 牡丹江师范学院学报(自然科学版) 2017(02)
    • [13].组合测试用例自动生成软件设计[J]. 自动化技术与应用 2017(05)
    • [14].基于死锁的并发类单元测试用例自动生成[J]. 计算机应用与软件 2017(04)
    • [15].多目标测试用例优先级排序研究进展[J]. 重庆工商大学学报(自然科学版) 2017(03)
    • [16].基于消息交互的测试用例编写方法的实现[J]. 萍乡学院学报 2017(03)
    • [17].基于变力度组合覆盖的信号处理软件测试用例生成[J]. 微电子学与计算机 2017(06)
    • [18].C语言软件错误定位的测试用例库构建[J]. 太原师范学院学报(自然科学版) 2015(04)
    • [19].基于聚类算法的测试用例排序[J]. 计算机工程与应用 2016(05)
    • [20].一种提高错误定位效率的测试用例选择方法[J]. 华东理工大学学报(自然科学版) 2016(04)
    • [21].软件测试用例设计[J]. 信息与电脑(理论版) 2016(12)
    • [22].基于正交试验设计的测试用例选择方法[J]. 计算机与数字工程 2016(08)
    • [23].一种基于蜕变关系的测试与失效测试用例定位模型[J]. 计算机科学 2016(10)
    • [24].基于需求特征的软件测试用例设计模型研究[J]. 高技术通讯 2013(08)
    • [25].基于开发思维的功能测试用例设计方法[J]. 汽车电器 2016(10)
    • [26].基于状态图的航天器测试用例设计[J]. 航天器工程 2014(06)
    • [27].软件测试用例管理方法初探[J]. 电子技术与软件工程 2015(05)
    • [28].一种测试用例库的建设方法研究与实践[J]. 电子制作 2015(06)
    • [29].优化遗传算法在软件测试用例方面的应用[J]. 科技创新导报 2015(08)
    • [30].测控软件测试用例库管理系统的研发[J]. 质量与可靠性 2015(03)

    标签:;  ;  ;  ;  ;  

    基于输出域测试用例自动生成的研究
    下载Doc文档

    猜你喜欢