




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于QPSO算法的软件测试数据自动生成李文瑞,张伟,任洪丽摘要:针对目前进化算法生成测试数据方法存在算法复杂、参数设置不易、易陷入局部最优解等缺陷,提出了一种应用于软件测试中的基于量子粒子群算法(QPSO)的测试数据自动生成算法。该算法是在PSO算法基础上引入量子理论的思想。解决了PSO算法搜索空间有限,容易陷入局部最优解的问题。通过具体实验证明,该方法是有效可行的,其效率也明显高于GA算法和PSO算法。 关键字:软件测试;测试数据生成;粒子群算法;量子粒子群算法0 引言 软件测试是软件开发过程中必须完成的重要活动之一,而测试数据的自动生成是软件测试的最关键的问题,可以有效的提高软件测试的效率。软件测试数据自动生成通常包括功能测试数据自动生成和结构测试数据自动生成,目前通过进化算法生成测试数据方面的研究取得的很大的进展。文献1将遗传算法(GA)应用于面向对象软件的单元测试中,文献2提出“分支函数叠加法”来构造适应值函数。文献3对遗传算法在软件测试用例生成的性能进行研究,并提出了两种提高遗传算法生成测试用例效率的方法。文献4将把量子理论应用于PSO 算法中从而提出一种改进的粒子群优化算法。文献7在传统的遗传算法中注入免疫算子,提出了基于免疫遗传算法生成软件测试数据的方法。文献8提出一种基于PSO算法的软件测试数据生成方法。但是遗传算法及其改进算法都存在算法复杂、参数设置不易等问题,PSO算法具有搜索空间有限、容易陷入局部最优解的缺陷。本文提出一种基于QPSO的软件测试数据生成方法,并通过实验验证,其效率明显优于遗传算法和粒子群算法,解决了PSO算法容易陷入局部最优解的缺陷。1 基本概念1.1 粒子群算法设Xi = ( xi1 , xi2 , xin ) 为粒子i的当前位置;Vi = ( vi1 ,vi2 , vin ) 为粒子i的当前飞行速度;Pi = ( pi1 , pi2 , , pin ) 为粒子i所经历过的具有最好适应值的位置。Pg = ( pg1 , pg2 , ,pgn ) 为群体中所有粒子所经过的最好的位置( gbest)。粒子状态进化方程为:vij (t+1) = wvij(t) + c1r1j(pij(t) - xij(t) + c2r2(t)(pgj(t) - xij(t) (1)xij(t+1) = xij(t) + vij(t+1) (2)其中c1 , c2 为加速常数,w为惯性权重,r1 = ( r11 , r12 , , r1n ) , r2 = ( r21 , r22 , r2n ) 为两两相互独立的0, 1 范围内变化的随机数。1.2 量子粒子群算法文献4从量子力学的角度出发提出了一种新的PSO算法模型,认为粒子具有量子的行为,并根据这种模型提出了量子粒子群算法。在量子空间中,粒子的速度和位置是不能同时确定的,可通过波函数(x t)来描述粒子的状态, 并通过求解薛定谔方程得到粒子在空间某一点出现的概率密度函数。随后通过蒙特卡罗随机模拟的方式得到粒子的位置方程为:X(t) = P (3)P = (4)其中、U是在(0,1)之间产生的随机数,在文献3中L被定义为:L ( t + 1) = 2 * |m best - X ( t) | (5)m best = = (, ,) (6)其中称为收缩扩张系数,可控制算法的收敛速度。M 为群体中所含粒子的数目, D为粒子的维数,Pi为第i个粒子的 pbest。最后得到粒子的位置方程为:X(t+1) = P * |m best - X ( t) | * ln() (7)在迭代过程中,是由u 的大小决定的,当u 大于0.5 时,取-号,其他情况取+号。在QPSO算法中,粒子的状态只需要位置向量来描述,并且算法中只有一个控制参数。2 基于QPSO的软件测试数据自动生成系统基于QPSO算法测试数据生成的系统模型可分为三部分:测试环境构造、量子粒子群算法包、测试运行环境。测试模块输入的是输入空间D的参数集x(x1,x2, xn),输出用“分支函数叠加法”6构造的分值函数,对分支函数和适应值函数的插装。适应度值是衡量粒子个体优劣的指标,适应值函数的构造直接影响QPSO算法在具体问题的效率。 分支函数的插装是在选定路径上各分支点插入相应的分支函数,设待测路径上有m个分支点,n个参数,则m个分支函数分别为:f1= f1(x1,x2,xn),f2 = f2(x1,x2, xn),fn = fn(x1,x2, xn);该路径的分支函数为: F = F(f1)+ F(f2)+ F(fn) 0,x0其中,F(x) = x,x 0适应度值越小,个体越接近全局最优解。当个体适应度函数值F=0时,即可找到一条指定路径的测试数据。量子粒子群算法包是系统的核心,要根据测试模块的信息确定种群规模及迭代次数,并计算适应度值。根据评价规则应用QPSO算法进化生成新一代的种群,并搜索最佳数据,使适应值函数的值为0或达到最大迭代次数算法终止。QPSO算法包的工作流程如图1所示。图1 QPSO算法包工作流程测试运行主要是调用并运行插装后的被测程序,获得跟踪信息传递给量子粒子群包,根据QPSO中的评价结果决定算法的运行或终止。3 测试数据生成算法量子粒子群算法(Quantum Particle Swarm Optimization)是近年来Jun Sun 等人把量子理论应用于PSO 算法而提出的改进的粒子群优化算法3,较PSO算法更加简单,易实现,且求解速度更优。QPSO 算法不仅参数个数少,随机性强,并且能覆盖所有解空间,保证算法的全局收敛性。应用量子粒子群算法生成测试数据的具体实现过程如下:(1) 分析被测程序,确定适应值函数,对被测程序进行插装。(2) 设定粒子数M,维数Dimension,最大允许迭代次数MAXTIER,和。初始化种群中每个粒子的位置向量。(3) for(t=0;tMAXTIER;t+)(4) 使用量子粒子群中的每个粒子来执行函数插装后的程序。根据粒子运行结果评定粒子的适应度:If ( F(xi) 0.5,xid= P - * |m best - X ( t) | * ln(),当u0.5,xid= P + * |m best - X ( t) | * ln(),直到搜索到最佳测试数据或t=MAXTIER。pi为第i个粒子的最优适应值,pg为量子粒子群的最优适应值。x = (x1,x2,xn),xi是第i个粒子的位置向量,QPSO算法中唯一的参数随迭代次数线性递减。4 实验结果及分析基于QPSO算法的软件测试数据自动生成实验采用在软件测试数据生成研究文献中广泛使用的三角形判别问题。通过实验验证QPSO算法在测试数据生成方面的效率。在以下试验中,取QPSO算法的参数随迭代次数由1.0线性递减到0.4,xmax = 100,xmin = 0,最大迭代次数为1000;取PSO算法的参数c1 = c2 = 2,w随迭代次数由0.7线性递减到0.3,xmax = 100,xmin = 0,最大迭代次数为1000。4.1 实验1在此试验中,以等边三角形的判别程序为测试对象,分别用PSO算法和QPSO算法生成10次等边三角形测试用例,记录每次找到最优解的迭代次数和迭代时间,计算10次的平均迭代次数和平均迭代时间,并通过图2和图3比较两种算法的实验效率。图2图34.2 实验2 在此实验中,以直角三角形的判别程序为测试对象,按照不同种群数运行10次,分别记录两种算法找到最优解的迭代次数和迭代时间,并计算10次的平均迭代次数和平均迭代时间。通过图4和图5比较两种算法的效率。图4图54.3 结果分析实验1和实验2表明,在等边三角形实验中,通过QPSO算法生成所需测试数据的迭代次数和迭代时间平均只有PSO算法的69%。在直角三角形实验中,通过QPSO算法生成所需测试数据的迭代次数平均是PSO算法的48%,迭代时间是PSO算法的59%。在文献8中验证了PSO生成所需测试数据的迭代次数和迭代时间都比GA算法少,其效率明显高于GA算法。由此可见,本文方法比GA和PSO能更快找到最优解。5 结论遗传算法生成软件测试数据存在算法复杂、参数不易设置的缺陷。基于PSO的软件测试数据自动生成具有搜索空间有限,容易陷入局部最优解的不足。本文提出利用QPSO算法生成测试数据的方法,更加简单易实现,控制参数少。实验证明,此方法是可行的,较遗传算法和PSO算法能更快、更稳定的收敛到全局最优解。参考文献:1 Nirmal Kumar Gupta and Dr. Mukesh Kumar Rohil Using Genetic Algorithm for Unit Testing of Object Oriented SoftwareC.computer society,2008,308-313.2 KOREL B. Automated software test data generatitonJ. IEEE transactions on Software Engineering, 1990, l6 (8) : 870 - 879.3 Donald J. Berndt and Alison Watkins. Investigating the Performance of Genetic Algorithm-Based Software Test Case GenerationC. High Assurance Systems Engineeri-ing , 2004 , 1530-2059. 4 SUN J, FENGB, XUWB. Particle Swarm Optimization with ParticlesHaving Quantum Behavior A . Proceedings of 2004 Congress on Evolutionary ComputationC . 2004. 325 - 331.5 SUN J, XUWB. A Global Search Strategy of Quantum behaved Particle Swarm Op timizationA . Proceedings of IEEE conference on Cybe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学基础知识考核试卷及答案
- 2025-2030中国洗洁精行业市场全景调研及投资价值评估咨询报告
- 2024药剂类考试准备材料试题及答案
- 精确突破2024年系统规划与管理师考试试题及答案
- 教师资格考试备考指南试题及答案
- 车间承包经营合同二零二五年
- 二零二五版★借款担保合同范例
- 培训学校招生合作协议二零二五年
- 二零二五事业单位工作人员离岗创业协议
- 骑竹马 (教学设计)-2024-2025学年湘艺版(2024)音乐一年级下册
- 2022民族娃娃IP运营规划-55P
- 酒店旅馆防偷拍摄像头排查指引
- GB/T 2423.20-2014环境试验第2部分:试验方法试验Kd:接触点和连接件的硫化氢试验
- GB/T 21655.2-2019纺织品吸湿速干性的评定第2部分:动态水分传递法
- 地震灾害分类标准及分级响应表
- 物业管理有限公司组织架构图
- GB 2707-2016食品安全国家标准鲜(冻)畜、禽产品
- 芝麻教学讲解课件
- 胸痛的临床鉴别诊断课件
- 我国中药资源与中药区划
- 火电厂工作原理课件
评论
0/150
提交评论