用于软件测试生成的微粒群关优化方法研究.doc
《用于软件测试生成的微粒群关优化方法研究.doc》由会员分享,可在线阅读,更多相关《用于软件测试生成的微粒群关优化方法研究.doc(80页珍藏版)》请在三一文库上搜索。
1、中国矿业大学本科生毕业设计设计题目: 用于软件测试生成的微粒群优化方法研究 中国矿业大学徐海学院毕业设计任务书任务下达日期: 毕业设计日期: 毕业设计题目:用于软件测试生成的微粒群优化方法研究毕业设计专题题目:毕业设计主要内容和要求:结合基本微粒群优化算法的原理,研究该算法在软件测试方面的应用;针对微粒群优化算法的编码特点,运用赫夫曼编码设计出解决问题的步骤;利用C语言编程,仿真验证PSO在软件测试中的可行性。具体设计要求如下:1、熟悉软件测试的原理和一般方法,重点分析了遗传算法在软件测试方面的应用;2、熟悉基本粒子群算法的原理和特点,讨论其改进方式,并分析比较算法的优劣性;3、设计用于软件测
2、试路径覆盖的微粒群优化算法;利用C语言编程仿真,并通过实验论证其有效性。指导教师签字:郑 重 声 明本人所呈交的毕业设计,是在导师的指导下,独立进行研究所取得的成果。所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业设计的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本论文属于原创。本毕业设计的知识产权归属于培养单位。本人签名: 日期: 中国矿业大学毕业设计指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实际问题的能力;研究内容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;
3、总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 指导教师签字: 年 月 日中国矿业大学毕业设计评阅教师评阅书评阅教师评语(选题的意义;基础理论及基本技能的掌握;综合运用所学知识解决实际问题的能力;工作量的大小;取得的主要成果及创新点;写作的规范程度;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 评阅教师签字: 年 月 日中国矿业大学毕业设计答辩及综合成绩答 辩 情 况提 出 问 题回 答 问 题正 确基本正确有一般性错误有原则性错误没有回答答辩委员会评语及建议成绩:答辩委员会主任签字: 年 月 日学院领导小组综合评定成绩:学院领导小组负责人: 年 月 日摘 要作为进化算法
4、的一个重要分支,微粒群优化算法的理论研究一直受到学者们的广泛关注。微粒群优化算法由通过随机初始化一群粒子利用群体迭代使粒子追随自身找到的最好解和群体找到的最好解完成优化。由于其原理简单、调节参数少、执行效率高、易于实现,现已广泛应用于处理交通运输管理、电力系统配置、工业生产调度、工程设计与优化等各类复杂的优化问题。目前,微粒群优化算法成为一种用于软件测试的新型智能优化算法。本文结合路径覆盖问题的特点,设计用于软件测试的微粒群优化算法。该方法基于赫夫曼编码方式建立微粒群的算法框架,通过不断更新微粒的极值点、速度和位置,找到软件测试问题的最优解。针对其目标函数和微粒群的编码方式,运用了C语言建立仿
5、真平台,通过实验对比验证了微粒群优化算法在软件测试中的优越性。关键词:软件测试; 微粒群优化算法; 赫夫曼编码; C语言编程ABSTRACTAs evolutionary algorithm as an important branch of particle swarm optimization algorithm theory research has received extensive attention of scholars. Particle swarm optimization algorithm by through the random initial a group of
6、 particle using iterative particle group to follow their own the best solution to find the best solution and groups find complete optimization. Due to its principle is simple, adjust the parameter, less efficient, easy to realize, is widely used in processing transportation management, power system
7、configuration, industrial production scheduling, engineering design and optimization of complex optimization problems. At present, the particle swarm optimization algorithm is used in software testing as a new type of intelligent optimization algorithm.Based on the characteristics of the path covera
8、ge problem, designed for software testing of particle swarm optimization algorithm. Based on the establishment of particles coding way hoffman the algorithm framework, and through the update particle of extreme value point, speed and position, find software testing the optimal solution of the proble
9、m. According to the target function and particle swarm the coding method, using C language building simulation platform, through the contrast verify the particle swarm optimization algorithm in software testing the superiority.Keywords:Software testing; Particle swarm optimization algorithm; Hoffman
10、 code; C programming language目 录第一章绪论11.1研究背景及意义1 1.2研究内容及目标1 1.3论文框架2第二章 相关工作综述3 2.1 软件测试问题3 2.1.1软件测试的概念3 2.1.2软件测试的目的、意义及方法3 2.1.3遗传算法在软件测试中的应用5 2.2 微粒群优化算法6 2.2.1 微粒群优化算法的产生6 2.2.2 微粒群优化算法的基本原理7 2.2.3 微粒群优化算法的发展10 2.2.4 微粒群优化算法与其他算法的比较11 2.2.5 微粒群优化算法的经典改进12 2.2.6 微粒群优化算法的应用16 2.3 本章小结16第三章 用于测试
11、路径覆盖数据生成的微粒群优化算法17 3.1 微粒编码17 3.1.1 赫夫曼编码17 3.1.2目标途径的编码18 3.1.3 被测程序的插桩19 3.2 适应值计算20 3.3 微粒极值点的更新22 3.4 粒子位置的更新23 3.5 算法步骤23 3.6 本章小结24第四章 实验仿真25 4.1 C 语言的开发环境简介25 4.1.1 C语言的发展过程25 4.1.2 C语言的特点25 4.1.3 C语言版本26 4.1.4 C和C+26 4.1.5 面向对象的程序设计语言26 4.1.6 源程序的结构特点26 4.2 实验内容27 4.2.1 参数设置27 4.2.2 在三角形分类程序
12、中的实验28 4.2.3 在其他3个基准测试程序中的实验29 4.3 敏感参数实验分析30 4.4 本章小结32第五章 结论与展望33参考文献34附 录36翻译部分53 英文翻译53 中文翻译59致 谢65 中国矿业大学2012届本科生毕业设计(论文)第一章 绪论1.1研究背景及意义软件测试是保障软件质量的重要手段1,测试的意义在于发现程序中的错误、有效定义和实现软件成分由低级到高级的组装过程、验证软件是否满足任务书和系统定义文档规定的技术要求以及为软件质量模型的建立提供依据。通过软件测试可以确认软件的质量、提供信息还可以测试软件开发的过程。软件测试问题的基本研究存在很多方向,例如连接测试、文
13、档测试、负载测试、集成测试、单元测试等,本文考虑软件测试中的路径覆盖问题。覆盖问题的普遍性和重要意义。近几年。基于启发式搜索的路径覆盖测试数据生成技术受到学者们的关注。其中,遗传算法( G e n e t i c A l g o r i t h m s,G A) 是用于测试数据的自动生成的有效方法。目前已有许多研究成果 ,如 C h e n 等采用多种群GA生成覆盖路径的测试数据2,So f o k l e o u s 等基于GA建立了动态软件测试框架3,R a j a p p a 等利用GA并结合图论知识,生成软件的测试用例4 ,B o u c h a c h i a将免疫GA用于测试数据生
14、成中4 等 。作为一种较新的启发式搜索算法,微粒群优化(Particle Swarm Optimization,PSO)算法是由Eberhart和Kennedy于1995年提出的,其思想来源于对鸟群、鱼群的模拟。PSO通过微粒追随自己找到的最好解和整个群的最好解来完成优化。该算法简单易实现,可调参数少,已得到广泛研究应用。本文将微粒群优化算法用于软件测试问题,设计一种新的测试数据生成方法。所得成果不仅可以拓宽微粒群优化的应用范围,而且可以提高算法的效率,具有重要的参考价格和借鉴意义。1.2研究内容及目标本文研究软件测试数据生成的微粒群优化方法,主要研究内容包括:(1) 路径编码及模型的建立。将
15、被测程序表示成一棵二叉树,对目标路径赫夫曼编码方法表示成二进制串;设计合适的适应度函数评价测试数据的优劣。(2)用于多路径覆盖测试数据生成的微粒群优化算法设计。采用微粒群优化生成多个测试数据,给出算法的具体执行步骤,以及微粒位置更新、微粒极值的更新等关键问题的解决方法。(3)基于C语言实现相关算法;将所提方法用于基准程序的路径覆盖测试数据生成,并与已有方法比较,验证所提方法的有效性。通过上述研究,期望设计一种基于微粒群优化的新型测试数据生成方法,并给出其仿真平台。1.3论文框架本文对软件测试的优化求解展开研究,设计一种基于微粒群优化的求解方法,给出微粒位置更新、微粒极值的更新等关键问题的解决方
16、法;在上述方法的基础上,开发基于PSO算法的C语言仿真,进一步完善算法的实用性和可控性。各章内容提要简列如下:第1章 绪论部分,分析课题的研究背景及意义,简述了论文的研究内容,明确了论文的研究目标。第2章 详细介绍相关研究工作,首先结合软件测试问题当前的研究热点,对其基本原理以及研究方法作简单介绍,重点介绍遗传算法在该领域的应用,并分析目前研究方法中存在的不足之处。其次,对微粒群优化算法做了详尽的叙述,包括算法的历史来源、发展前景、改进算法、应用领域等,分析了算法的优劣之处,为论文提供了比较系统的理论依据。第三章给出用于软件测试问题的改进微粒群优化算法,详细介绍了微粒编码和微粒极值点更新等方法
17、,以及算法的步骤。第四章利用C语言的编程实现微粒群优化算法在软件测试中的应用,并通过程序测试结果验证其可行性。第五章总结与展望部分,回顾本文完成的主要工作,分析论文完成的目标及存在的不足之处,明确下一步的研究方向,同时对PSO在软件测试领域的应用前景进行了分析。第二章 相关工作综述在第一章中已经阐述了本文研究的方向和主要内容,本章主要详细介绍了软件测试问题和微粒群优化算法的相关研究现状,为后面两章做好铺垫。2.1软件测试问题2.1.1软件测试的概念软件测试(Software testing)是软件生存期(Software life cycle)中的一个重要阶段,是软件质量保证的关键步骤。软件测
18、试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输人数据及其预测的输出结果),并利用这些用例去运行程序,以发现程序错误或缺陷的过程。软件测试与软件开发各阶段的关系。软件开发的过程是一自顶向下,逐步细化的过程,而测试过程则是依相反的顺序安排的自底向上,逐步集成的过程。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试即单元测试。编码与单元测试属于软件生存期中同一个阶段。在结束这个阶段之后,对软
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用于 软件 测试 生成 微粒 优化 方法 研究
链接地址:https://www.31doc.com/p-2109903.html