- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于退火遗传算法自动化单元测试方法分析
基于退火遗传算法自动化单元测试方法分析 摘 要:为了提高单元测试的工作效率,基于退火遗传算法提出一种自动化单元测试方法。采用基于分支距离的方法,构造适应值函数,并根据相应的代码转换功能,将判定结点处的代码转换平行结构、将分支距离量化为[0,1]之间的数。根据实验结果,这种自动化单元测试方法可以在更短的时间内获得更高的代码覆盖率,有效提高了单元测试的工作效率。 关键词:遗传算法;模拟退火算法;自动化;单元测试 中图分类号:TP311.53 随着计算机技术的发展,计算机智能技术也逐渐得到了开发应用,生物智能、人工智能以及算计智能的联合应用和优势互补,使智能技术的应用更加有效。随着计算机的普及,软件产品已经深入人们生活工作的各个领域,成为日常工作、生活、娱乐的必不可少的组成部分。而对于软件安全性能的要求则在很大程度上促进了软件测试的发展。软件测试是软件安全性能和良好的使用性能的重要哦保证,贯穿于软甲开发过程的始终,保证软件开发每个阶段的质量。 软件的质量需要经过软件功能测试才能得到保障,而单元测试则是软件功能测试的基础和前提,是软件测试的起步环节。单元测试针对的对象是程序中最小的软件模块,一般是软件开发人员通过编写小段代码,针对被测试代码的某个较小较明确的功能进行测试,看其是否可以正常运行。 1 参数化单元测试 单元测试作为软件测试的起步环节,同时也是不可或缺的环节,对软件的质量起着至关重要的作用。在实际测试中,单元测试代码的手动编写工作是一件极其复杂且耗时的工作,并且所选测试实例不能保证覆盖较大的代码,具有很大的随机性,进而降低单元测试的效率。 参数化单元测试将程序规格与测试用例生成分离,解决了传统单元测试存在的弊端。运用参数化单元测试方法,程序要实现的功能需要人工书写代码,然后测试工具就会通过对测试代码的分析和检测,自动根据测试的实际路径生成对应的实例和测试代码,实现代码的高覆盖率。 2 基于遗传算法的搜索策略 在退火算法的运行过程中溶入遗传算法,称为退火遗传算法,依旧是说,所谓的退火遗传算法,实际上是由退火算法和遗传算法两个部分组成,结合双方各自的优点和特性,所得到的新的综合性计算方法。 2.1 遗传算法依据 遗传算法的提出源于计算机发展初期提出的所谓“人工进化系统”,它是根据生物进化的特点,借鉴优胜劣汰的自然遗传法则,参照达尔文进化论的理论思想而形成的一种不依赖具体问题的直接搜索方法,在运用遗传算法进行数据计算时,不仅要用到进化学的概念,同时也要符合遗传学说的基因遗传原理。 运用遗传算法进行计算时,一般要经过几个基本步骤,即:初始化数据、数据的择优选择、随机对选中的两个数据进行交叉互换、根据遗产学说的基因变异原理所进行的个体数据变异、全局最优收敛,进而得出需要的结论或数据。 2.2 模拟退火算法依据 模拟退火算法是根据固体退火过程和组合优化问题之间的相似性而提出的。在对物质进行加热处理时,物质组成中粒子之间的布朗运动加强,当加热到一定程度时,温度达到物质熔点,固体物质会转化为液体形态。这时,对物体进行退火处理,使温度降低,则物体的粒子运动减弱,并且会逐渐趋于平衡和有序,最终达到物质性质的稳定。 模拟退火算法运用温度参数进行控制,当温度较高时,数据运动变化剧烈,从而使解的区间变化较大,容易接受到较差解;当温度降低,数据运动逐渐减缓时,解的区间也会逐渐趋于稳定,这时候就可以得到较为优良的解果,从而对遗传算法的不足进行弥补。 2.3 退火遗传算法依据 退火遗传算法,是指以遗传算法为主要运算方法,并在运算过程中引入模拟退火算法,使两者达到优势互补,进一步对群体进行优化调整。退火遗传算法可以分为两个组成部分:首先,运用遗传算法的进化理论,产生一个相对较为优良的群体,然后利用模拟退火算法,对群体中的个体进行优化和调整。 (1)针对遗传算子进行改进 所谓遗传算子,是指在遗传算法中,用来维持遗传多样性所使用的算子,遗传多样性是生物或数据演化过程中不可或缺的一个必要性质,遗传算子在遗传算法中类似于自然中的适者生存原则,对于个体的进化会产生巨大的影响。 初始进化阶段,为了保持种群的多样性,便于从中进行选择,应该加大对于个体间相互交叉和互换的概率;在进化的终极阶段,频繁的交叉互换不利于种群的稳定和最优解的产生,因此需要适当地减小个体间的联系和活动,减少最优解的求解难度,缩短求解过程。针对种群中的个体而言,在进行变异操作时,对优势个体进行较小的变异,劣势个体进行较大的变异,可以使其更加趋近于最优解。 (2)合理构造适应值函数 适应值函数可以针对遗传算法的求解过程进行指导,对最优解的数值区间进行限定,在适应值函数的构造过程中,引入关键分支的概念。关键分支,指
原创力文档


文档评论(0)