智能优化算法自动生成计算机软件测试数据的方法

2021.08理论算法
智能优化算法自动生成计算机软件测试数据的方法
黄玲
(广东工程职业技术学院,广东广州,510520)
摘要:本文主要介绍了其中遗传算法、萤火虫算法、粒子算法等算法的原理和步骤,探讨了结合烟花爆炸算法对粒子算法进行优化设计的算法原理,并对计算机软件测试数据自动生成设计的主要方法进行了介绍。
关键词:智能优化算法;遗传算法;粒子算法;软件测试;数据生成
Method for automatically generating computer software test data by intelligent optimization algorithm
Huang Ling
(Guangdong Engineering Vocational and Technical College,Guangzhou Guangdong,510520)
Abstract:There are many types of intelligent optimization algorithms.This article mainly introduces the
principles and steps of genetic algorithm,firefly algorithm,particle swarm algorithm,etc.,and discusses the algorithm principle of particle swarm algorithm optimization design combined with firework explosion algorithm.The main methods of automatic generation and design of test data are irrtroduced.
Keywords:intelligent optimization algorithm;genetic algorithm;particle algorithm;software testing;data generation
0引言
计算机软件的质量严重影响了软件的使用效果,质量较差的软件需要投入大量的维护成本。同时,由于软件质量差而导致其存在较多漏洞,容易在使用过程中造成大量的损失。因此,计算机软件的开发必须经过严格的测试,以最大程度的减少应用软件的漏洞,提升软件的应用质量。而利用智能优化算法对计算机软件进行自动测试,可以在提升测试效率的同时,大量节约测试成本。
1智能优化算法的概述
所谓的智能优化算法就是根据自然界现实现象的一些原理而开发出的一种智能的搜索计算方法,智能优化算法可看作是对自然规律的一种借鉴和模拟。目前应用的智能优化算法除了遗传算法和粒子算
法等传统算法外,还有萤火虫算法、烟花爆炸算法等算法。其中遗传算法主要是通过模拟自然界中存在的生物遗传和生物进化,从而发明的一种算法,该算法的特点是具有自适应结构和全局优化效果。而粒子算法的依据是粒子间的相互作用,该算法能够在复杂的搜索空间中发现最优的区域。在计算机软件测试过程中,这两种较为基本的智能优化算法得到了大量的应用。
2遗传算法的应用
cos系统下载
遗传算法具有全局概率搜索功能。在使用这一算法时,需要先进行问题转化,用函数优化问题代替软件测试数据的生成问题,然后设计适应度函数,而软件测试数据的种则要进行编码,以便于应用遗传操作。软件测试数据的种经
申耳测说过多代的进化后,可以得到相应的测试数据结果。
在自动生成软件测试数据的过程中,应用遗传算法的第一步就是将通过软件程序输入的数据一一编码,以便于形成不同的个体。
第二步要生成初始种。初始种的构成包含了N个个体,而每个个体则是由N个初始串结构数据所组成的,其生产规律是随机的。初始种是遗传算法进行迭代更新的重要起点。
第三步要对种进行选择。选择操作是遗传算法对适者生存原则的一种模拟。选中开始时,要根据适
应性强的标准,在初始种中挑选出一定数量符合标准的个体。这些被选中的个体将成为新的父代,并由此为基础生成新一代的个体。
第四步进行交叉。进行交叉操作的主要目的就是为了帮助数据信息实现交换。没有交叉操作,算法选择的父辈个体便无法得到新一代的个体。新一代的每个个体几乎都具有父辈个体遗传的某些特性。
第五步是变异操作。进行变异操作时,要保留精英个体不参加变异操作。首先在种随机选择个体,并以随机的方式改变个体。
第六步要对适应度的函数值进行计算,若计算结果满足算法的终止条件,则终止算法的运行,若计算结果没有达到终止条件的要求,则重复进行遗传算法,直至到符合终止条件的数据结果。
3萤火虫算法
萤火虫算法的提出是根据萤火虫具有的发光特性,总结其发光活动的相关规律,以寻最优解。
39J
ELECTRONIC TEST
理论算法2021.08
首先,确定萤火虫的种数,然后对该种中进行初始化操作,确定其中个体的初始位置。
赤霞珠第二步根据个体的位置,通过目标函数,计算出萤火虫个体的绝对亮度。
第三步根据萤火虫个体相对亮度公式和个体之间吸引力公式,计算出两个萤火虫个体各自的相对亮度和吸引力。
第四步,根据个体位置变更公式,可计算出种中个体位置的更新情况。而体中最亮的萤火虫个体,其位置移动无规律,可利用单独的计算公式得出其位置变更。新课程研究
第五步,种内的萤火虫个体在结束更新后,要重新对每个新的萤火虫个体的发光强度进行计算。
第六步,判断该算法是否符合算法结束的条件,如果符合则结束算法,得出最终结果,若不符合,重复第三步骤,直至算法结束。
4单路径软件测试数据的自动生成
4.1构造适应度函数
单路径的软件测试数据的自动生成会涉及构造适应度函数,为了构造适应度函数,可通过分支函数叠
加的方法。使用此方法时,要先进行分支谓词的转换,将其转化为分支谓词为分支函数,之后再对分支函数进行叠加,经过叠加的函数可作为需要进行优化的最终目标函数。
程序中的谓词通常是用判断语句来标示,如果分支谓词是真值,此时函数值将为负值,分支函数将等于0。如果分支谓词是假值,则函数值变为正值,分支函数将大于0。
4.2程序插桩
程序插桩技术的工作思想是不改变计算机程序的原有逻辑结构。在此基础上在被测程序中添加一些代码段,形成一个个程序监测点,用以收集被测程序的运行信息。完成被测程序的插桩后,便可收集程序的数据流,借此可掌握程序的路径覆盖情况,从而实现对计算机软件程序的数据测试。
5粒子算法的应用
粒子算法是通过对种个体之间存在的相互合作,而得出数据信息,最后通过共享的方式到最优解的算法。
粒子算法开始运行的第一步就是要设定好粒子的规模数量,并计算出各粒子在粒子中的位置和速度,以完成粒子的初始化。
第二步,当各个粒子处于初始位置时,利用公式计算出粒子的适应度值。金星凌日
第三步,对比各个粒子自身的适应度值和最优值。如果粒子适应度值小于其最优值,则证明粒子的适应度值要优于最优值,此时要将最优值更新为适应度值。
第四步,将初步对比后得出的最优的粒子适应度值,与全局最优值进行对比。若粒子的适应度值优于全局最优值,要将全局最优值替换为此适应度值。
第五步分别根据粒子速度和位置的计算公式,对粒子速度和位置进行更新。
第六步进行各粒子的边界处理,然后根据终止条件判断|40,算法是否满足标准。若算法不符合终止条件,继续从粒子适应度值开始进行算法操作。
6基于烟花爆炸算法的优化应用
烟花爆炸算法可以与粒子算法相结合,粒子在经过迭代更新后,取其最优粒子作为爆炸源。选择经过爆炸而产生的适应度值最好的粒子,与种其他原粒子共同进行迭代更新,烟花爆炸算法的应用有利于粒子的多样性,可促使后期粒子摆脱部分极值的限制,从而得到全局最优解。因此,根据烟花爆炸算法可以对粒子算法进行优化。
为了避免因新粒子过多,而导致算法计算速度和存储性能出现下降,在利用烟花爆炸算法对粒子算法进行优化设计时,要严格控制沿坐标轴产生的粒子数量。为此,产生的粒子数通常为一个。而粒子
迭代更新时,只能爆炸产生4个粒子。对粒子数量的限制可以减少对存储空间的消耗,减少算法的计算时间。
经过烟花爆炸算法优化的粒子算法在计算开始后,依然要初始化每个粒子所在的位置和速度,然后依次计算粒子的适应度值、个体最优值和种全局最优值。其中最优的粒子将作为爆炸粒子,使其爆炸产生新的粒子。对于新生的粒子同样要计算其适应度值,并与原粒子进行对比,选取对比结果中适应度值最优的粒子。之后要对最优粒子进行位置和速度的初始化更新和边界处理。此时要检查算法结果是否可以终止,不满足终止条件的要继续重复之前的计算步骤,直至到符合标准的算法结果。
7多路径软件测试数据的自动生成
多路径的计算机软件测试数据自动生成需要涉及以下两种技术。一是路径相似度。在计算机领域,路径相似度是指软件测试数据的路径与目标路径的相符程度。为了更加准确的判断路径相似度,需要更为合适的路径相似度的度量方法。目前,对路径相似性产生影响的主要因素有以下三个,一是对应节点相同的个数,二是连续相同节点的个数,三是不同节点的权重。设计路径相似度的度量方法必须充分考虑这三种因素。
二是多路径适应度函数的设计。在进行多路径测试时,通常以均值的设计思想来设计适应度函数。首先要根据专业的计算方法计算出所有路径相似度的值,然后取其平均值。此均值可作为数据对于目标
路径集合的适应度值。通过均值对不同路径的匹配性进行对比,可以更为直观的看出测试数据之间的优劣。
8结束语
汽车安全驾驶技术软件测试是计算机软件开发产业的重要工作之一,同时也是该产业的一大需求。对利用智能优化算法自动生成计算机软件测试数据进行研究,可以获得提高软件自动测试效率的重要成果,这对于确保软件测试质量,提升软件开发效率,助力我国软件开发行业的发展都具有十分重要的价值意义。
参考文献
[1]任.智能优化算法自动生成计算机软件测试数据的方法
(下转第33页)
甲耳测说
ELECTRONIC TEST
2021.08设计研发
5khz);8点高频电源插入继电器或8点高频晶体管电源插入控制输出(2点高速lOOkhz,6点中速20khz);一个两个点的rs232通讯速度控制输入端口。本文需要用到8个输入点,6个输出点,以及通讯端。
2.3变频器的选型及参数
选择安弗森Z2400-7R5P型变频器,其规格如表3所示。
表3变频器参数表
额定电压输出功率输入电流输出电流适用电机380V7.5KW20.0A17.0A7.5KW以下
由釆用微处理器进行控制的髙压变频器和pic系列,以及各种功率进入输出控制装置等均使用符合现代先进控制技术的新型绝缘栅双极性电晶体管。所以,它必须具有可靠的交互操作性和多样的应用功能性。当家用变频器在家中使用时。根据逆变电机的使用参数、系统使用功能性的要求和实际操作者的特点,系统自动设置各种有关的高压变频器驱动参数。变频器参数设置如表4所示。
表4变频器参数设置
功能代号设置参数值功能
P0.011无速度传感器矢量控制
P0.021端子命令通道
2.4变频器拖动多台水泵方案
对于变频器控制多台的电动机,其第一个特点就是一台小型的变频器可以连接任意一个台数的电动机,实现对多台电动机的拖动,用一台pic电机去拖动控制多台的变频器。如今随着对于变频器控制技术的进一步深入和研究,变频器的类型和功能已经十分丰富,市场上的每一台变频器大多数的类型都可以带动两个或者更多的电动机,这样就里一台变频器完成控制多台变频电机的主要任务。此种电动机控制的方法仅仅简单地使用了一台小型的变频器,花费低,另外的电动机和硬件设备使用的就少了,从而对电动机设计的复杂性和投入大大减少,设备的性能和利用率同时也得到了大幅度的提升,潜在的控制功能被多台电机充分利用。然而,这种控制方式只广泛适用于一台电机相对较少,电机硬件配置相对较集中的电动机控制系统中。
3电气自动化系统软件设计
3.1PLC的基本构成
通常在一个PLC中,CPU模块是它的核心,电源模块提供它的供能,I/O模块是它处理的手段,其结构
如图1所示。
3.2PLC的工作过程
给PLC通电,系统以固定的方式对输入的程序进行查错,一遍又一遍的对任务扫描,从而将结果输出。这就是依次扫描的过程。(1)恢复初值,给PLC通电,将内部的所有元件复位。(2)CPU检测。(3)通讯检测,保证通讯正常。(4)接收外部设备信息。(5)执行程序。(6)刷新,最后将命令发给机械设备。PLC停机后,结束意思过程。
可编程控制器
图1PLC结构图
电池阀
接触器
指示灯
电源
3.3PLC程序编写
在每个水箱中分别安装一个浮漂水位报警开关,并且同时串联一个水位指示灯,对变频器水位下降情况进行了监控,在变频器水位的下降情况达到一定的程度时使变频器的水泵自动停机,防止了水泵的空转,并且串联一个指示灯亮,进行了报警;每台变频器的水泵急停开关启动与复位用于停止两个水泵各分别对应一个水泵急停按钮,按钮分别为一个常开一个常闭,常开一个用于水泵启动,常闭用于水泵停机,串联一个水位指示灯,对于水泵的正常运行状态情况进行了监视;另外还有一个水泵急停按钮,用于分别在紧急情况时使水泵停机,不论那台变频器的水泵是否正常运行,都同样能够有效地使其他水泵停止;另外还有两个水泵急停按钮,可以分别在变频器接收到报警后对其他水泵进行启动和复位”
4结论
本文针对电气自动化技术在发电站中的应用分析进行了研究,通过对电气自动化技术在发电站中的重要性、主要内容和具体包含技术进行了阐述,深入研究了电气自动化技术在发电站中的应用分析,并以PLC技术为例进行了包含设备选型和系统设计在内的详细应用分析,对电气自动化技术在发电站中的应用提供了相关参考。
参考文献
[1]吴勇保.电气自动化在水利水电工程中的应用[J].数码设
计(上),2020,009(002):87.
[2]刘桂金.电气自动化技术在电气工程中的应用分析[J],区
域治理,2018.
⑶李湘君.浅谈小发电站继电保护的运维管理[J],小水
电,2020⑷.
⑷樊佳睿.电力系统运行中电气自动化技术的应用策略
[C]//劳动保障研究会议论文集(四).2020.
(上接第40页)
[J].信阳农林学院学报,2018,028(001):P.l11-114. [2]李龙淆,郭紫梦.应用混沌果蝇.算法的路径覆盖测试
用例优化技术研究[J].小型微型计算机系统,2018,
39(02):172-176.李人志
⑶高海昌,冯博琴,朱利.智能优化算法求解TSP问题[J],
控制与决策,2006(03):241-247.
申耳测说ELECTRONIC
TEST

本文发布于:2024-09-23 09:34:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/124368.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:算法   粒子   进行   变频器   优化   个体
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议