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

来源 :北京工业大学 | 被引量 : 0次 | 上传用户:GU988968
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着近年来软件行业的蓬勃发展,软件测试作为保证软件质量和可靠性的重要保障,在软件开发中起着不可替代的作用,逐渐成为近年来研究的热点之一。传统的手工生成测试数据的方法存在着工作量大等缺点,所以自动生成测试数据成为了提高测试效率的重要手段。本文的主要内容即是对测试数据自动生成系统进行设计和研究。 在本测试数据自动生成系统中,主要包括3个部分:程序分析、路径分析以及测试数据生成。其中测试数据的生成是整个系统的重点。本文采用自适应模拟退火遗传算法作为核心算法。作为此算法的来源和基础的遗传算法是一种模拟生物群体遗传和进化机理的启发式优化算法。其仿照生物进化的原理,通过选择、交叉、变异等操作实现对数据的搜索。虽然遗传算法有着全局、并行搜索等优点,但也存在着容易陷入局部最优等的缺点。针对其缺点,引入了拥有较好局部寻优能力的模拟退火算法。利用这两种算法的优势互补的地方将他们有机的融合,并且为了提高混合算法的性能,对混合算法进行改进,并最终形成自适应模拟退火遗传算法(自适应SAGA算法)。 在得到了关键技术--自适应SAGA算法后,对测试数据自动生成系统进行了设计以及实现。前面提到过系统的框架主要由三个部分构成,首先采用静态的程序分析,得到程序控制流程图,然后对程序的路径进行分析,可以得出系统的全部路径,最后根据需求要求,为满足覆盖某条系统路径,对经过程序插装的被测程序进行相应的测试数据的生成。其中对于测试数据生成模块进行了重点设计和实现。该模块主要内容包括:参数编码、适应度函数的构造、优选父代交换、自适应交叉和变异操作等。 最后,本文采用JAVA语言对自适应模拟退火遗传算法予以实现,针对一个实际的被测程序实例,给出运用测试数据自动生成系统生成的测试数据。实验结果显示出算法正确的执行并达到了预期结果-实现生成的数据正确覆盖指定路径。此外,通过与遗传算法的运行结果比较,还可以看出,自适应SAGA算法确实在执行效率上优于基本遗传算法和自适应遗传算法。当然,本系统还存在着许多缺点,如:时效性差、处理的数据类型单一等缺点。这还需要在以后进一步研究中加以改进。
其他文献
在图像识别的方法中,人们的一般性思维是寻找图像中存在的某些具体特征,然后利用这些特征进行分类,特征提取是图像处理领域重要的研究方向。但事物的具体特征可能是千差万别的,如
随着近年来钢琴教学的兴起,大量的人员加入到了学习钢弹奏的队伍。但昂贵的钢琴教学费用以及它特有的教师和学生一对一的教学模式造成了钢琴教育资源非常的紧缺,学习钢琴演奏
随着网络技术的迅速发展和互联网规模的不断扩大,互联网已成为全球最大、最广泛使用的信息库。如何有效检索这些海量信息成为当前重要的研究课题,因而信息检索技术越来越受到
BitTorrent、eMule协议以及其相关软件在全世界得到的应用越来越广泛,然而它们在方便了人们互相分享资源的同时也对网络带宽,版权保护等造成了很多负面影响。近年来,这些基于
B/S模式的应用系统能够弥补C/S模式系统下的缺陷,在企业应用系统由C/S模式向B/S模式转变的过程中,如何使现有的软件资源得到复用,从而快速、高效地开发出B/S模式的应用系统,
随着Internet的迅猛发展,网络流量迅速提高,新型业务层出不穷,这些业务对服务质量(QoS)均有严格的要求,这就要求IP网络能够提供相应的机制以便在高效地提高资源利用率的同时
在医疗、金融和航空航天等关键领域,计算机技术的应用越来越广泛,这些领域大量使用分布式实时系统来辅助业务,这就对各子系统间通信的实时性和灵活性提出了极高的要求,传统的
随着计算机网络技术、多媒体技术和通讯技术的发展,人们已不再满足简单的语音和文字通信,视频会议的开发和应用已经成为网络应用的热点之一。视频会议系统是利用通信网络,传
重音是一种重要的韵律特征,在目前比较常用的汉语重音检测方法中,根据特征大致可以分为三类,一类是基于声学特征的检测方法;另一类是基于语法特征的检测方法;还有一类是融合