联系人:
所在地:
1、项目的目的和意义 计算机软件是信息产业的重要组成部分,对国民经济和社会发展起着至关重要的作用,其质量一直是人们非常关注的问题。软件测试是提高和保障软件质量的重要手段,在软件生命周期中占据重要的地位。已有研究数据显示,软件测试占开发成本的50%以上。由此可见,要成功研发出高质量的软件产品,必须加强和重视对软件的测试工作。 现实中的软件内部往往含有随机数或其它不确定因素,而对于内部含有随机数等不确定因素的复杂软件,传统的测试数据生成方法往往难以奏效。因此,对含随机数软件测试数据生成问题的研究具有普遍的现实意义。 本项目针对内部含有随机数的实际被测软件,研究其基于进化优化的测试数据生成理论与方法。通过研究,建立含随机数软件测试数据生成问题的优化模型,提出相应的进化优化求解方法,开发测试数据生成原型系统,并应用到实际的含随机数软件测试中。本项目是计算机、应用数学与自动化等学科有机交叉、新颖且富有挑战性的研究方向,有非常明确的产业需求,预期的研究成果不但可以提高软件质量,而且可以缩减软件开发成本,具有重要的理论意义和应用价值。 2、国内外研究概况、水平和发展趋势 与本项目相关的研究工作主要包括3个方面,其国内外研究现状及发展动态分析如下: (1)软件测试数据生成技术 目前,测试数据的生成方法主要有4种,分别为随机法、静态法、动态法和试探法。现有成果为有效解决软件的测试数据生成问题提供了多种途径,从而为产生可信软件奠定了坚实的基础。但是,随着软件领域的不断拓展,含随机数软件将会占据越来越多的应用空间,对含随机数软件测试数据生成问题的研究迫在眉睫。 (2)基于进化优化的软件测试数据自动生成 对于复杂软件测试数据的生成,采用遗传算法生成复杂软件的测试数据,是近年来软件测试非常有潜力的研究方向之一。但是,利用进化优化方法解决含随机数软件测试数据生成问题的成果还很少。事实上,含随机参数软件在现实世界中是普遍存在的。因此,所取得的成果还只是初步的、片面的,应用的范围还是很有限的。 (3)随机规划理论与方法 目前,随机规划的研究成果还很少应用于软件测试领域。在建立软件测试数据生成问题的优化模型时,目标函数常常用于描述测试数据实际覆盖的测试目标与期望的测试目标之间的接近程度。对于含随机数的软件而言,目标函数的取值不但和输入变量有关,还随机数的取值有关,所以建立的模型中应该包含这些随机参数。因此,含随机数软件测试数据生成问题的模型,应该属于随机规划的范畴。 3、项目研究内容及创新点 研究内容主要包括以下3点: (1)含随机数软件测试数据生成问题的模型 (2)用于含随机数软件测试数据自动生成的进化求解方法 (3)基于进化优化的含随机数软件测试数据生成系统 创新点: 针对含随机数被测软件,提出了基于稀有数据扑捉的路径覆盖测试数据进化生成方法;针对已有方法生成的测试数据较难发现小概率缺陷问题,提出了面向缺陷的路径覆盖测试数据进化生成方法;针对单路径覆盖测试数据生成问题,提出了基于搜索空间缩减的遗传算法;针对多路径覆盖测试数据生成问题,提出了基于蜕变关系以及精英学习的多路径覆盖测试数据进化生成,有效提高测试数据生成的效率,为软件测试自动化奠定了一定的理论基础。 4、项目成果 (1) 张岩*、巩敦卫,基于稀有数据扑捉的路径覆盖测试数据进化生成方法,计算机学报,第36卷,第12期, 2429-2440页,2013 (EI检索号:20140517247932) (2)Dunwei GONG, Yan ZHANG*, Generating test data for both path coverage and fault detection using genetic algorithms, Frontiers of Computer Science, Vol. 7, No. 6, 822-837, 2013 (SCI检索号:000327494200003)(通讯作者) (3)张岩*、巩敦卫,基于搜索空间自动缩减的路径覆盖测试数据自动生成,电子学报,第40卷,第5期, 1011-1016页,2012 (EI检索号:20122815240200) (附EI检索证明) (4)张岩,基于蜕变关系的多路径覆盖测试数据进化生成,计算机工程,第38卷,第10期, 57-59页,2012 (5)张岩,基于精英学习的多路径覆盖测试数据进化生成,牡丹江师范学院学报(自然科学版),第4期, 20-22页,2012 (6)软件著作权一个,《路径覆盖测试数据自动生成软件》登记号:2014SR080568