首页> 中文学位 >基于SAGA的测试数据自动生成系统的研究与应用
【6h】

基于SAGA的测试数据自动生成系统的研究与应用

代理获取

目录

文摘

英文文摘

声明

第1章绪论

1.1题目背景和意义

1.2国内外研究现状

1.2.1测试数据自动生成

1.2.2遗传算法技术

1.3本文主要工作

第2章软件测试及测试数据自动生成

2.1软件测试概述

2.1.1软件测试定义

2.1.2软件测试分类

2.1.3软件测试目标

2.1.4软件测试原则

2.1.5软件测试过程

2.2测试用例自动生成

2.2.1面向功能的测试用例自动生成

2.2.2面向结构的测试数据自动生成

2.3测试数据自动生成系统结构

2.4本章小结

第3章模拟退火遗传算法及其改进

3.1遗传算法

3.1.1遗传算法的描述

3.1.2遗传算法的基本思想

3.1.3遗传算法的基本操作

3.1.4遗传算法存在的问题

3.2模拟退火算法

3.2.1模拟退火算法的思想

3.2.2模拟退火算法的步骤

3.3混合算法

3.4 SAGA算法的改进

3.4.1优选父代交换

3.4.2自适应的遗传算子

3.4.3精英选择

3.5本章小结

第4章基于自适应SAGA的测试数据自动生成系统

4.1系统框架

4.2测试环境的构造

4.3参数编码

4.3.1参数的选取

4.3.2参数的编码

4.4适应度函数的构造

4.5遗传算子的改造

4.5.1自适应遗传算子

4.5.2交叉位置的改进

4.6测试数据自动生成系统的设计实现

4.6.1测试数据自动生成系统的实现步骤

4.6.2自适应SAGA算法的特点

4.7测试数据生成实例

4.8本章小结

第5章实验结果和分析

5.1实验结果及分析

5.2与遗传算法的比较

5.2.1遗传算法的操作设定

5.2.2比较结果分析

5.3本章小结

结论

参考文献

攻读硕士学位期间所发表的学术论文

致谢

展开▼

摘要

随着近年来软件行业的蓬勃发展,软件测试作为保证软件质量和可靠性的重要保障,在软件开发中起着不可替代的作用,逐渐成为近年来研究的热点之一。传统的手工生成测试数据的方法存在着工作量大等缺点,所以自动生成测试数据成为了提高测试效率的重要手段。本文的主要内容即是对测试数据自动生成系统进行设计和研究。 在本测试数据自动生成系统中,主要包括3个部分:程序分析、路径分析以及测试数据生成。其中测试数据的生成是整个系统的重点。本文采用自适应模拟退火遗传算法作为核心算法。作为此算法的来源和基础的遗传算法是一种模拟生物群体遗传和进化机理的启发式优化算法。其仿照生物进化的原理,通过选择、交叉、变异等操作实现对数据的搜索。虽然遗传算法有着全局、并行搜索等优点,但也存在着容易陷入局部最优等的缺点。针对其缺点,引入了拥有较好局部寻优能力的模拟退火算法。利用这两种算法的优势互补的地方将他们有机的融合,并且为了提高混合算法的性能,对混合算法进行改进,并最终形成自适应模拟退火遗传算法(自适应SAGA算法)。 在得到了关键技术--自适应SAGA算法后,对测试数据自动生成系统进行了设计以及实现。前面提到过系统的框架主要由三个部分构成,首先采用静态的程序分析,得到程序控制流程图,然后对程序的路径进行分析,可以得出系统的全部路径,最后根据需求要求,为满足覆盖某条系统路径,对经过程序插装的被测程序进行相应的测试数据的生成。其中对于测试数据生成模块进行了重点设计和实现。该模块主要内容包括:参数编码、适应度函数的构造、优选父代交换、自适应交叉和变异操作等。 最后,本文采用JAVA语言对自适应模拟退火遗传算法予以实现,针对一个实际的被测程序实例,给出运用测试数据自动生成系统生成的测试数据。实验结果显示出算法正确的执行并达到了预期结果-实现生成的数据正确覆盖指定路径。此外,通过与遗传算法的运行结果比较,还可以看出,自适应SAGA算法确实在执行效率上优于基本遗传算法和自适应遗传算法。当然,本系统还存在着许多缺点,如:时效性差、处理的数据类型单一等缺点。这还需要在以后进一步研究中加以改进。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号