首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
李刚  于磊  孙回回  张兴隆  侯韶凡 《计算机科学》2016,43(11):252-256, 279
基于搜索的算法在以路径覆盖为目标的测试数据生成中应用广泛。然而对于字符串型测试数据的生成,现有方法效率不高。为了高效地生成字符串型测试数据,提出了一种基于变异粒子群算法的字符串型测试数据自动生成方法。在随机生成初始种群后,采用粒子群算法使种群在趋近最优个体的过程中实现进化,并以一定的概率对种群中的个体进行变异操作,以避免进化过程陷入局部最优。为了有效地指导种群进化过程,对经典适应度函数中分支距离的计算方法进行改进,使其适用于含有字符串型参数的程序。实验结果表明,该方法具有较高的成功率和稳定性,且能明显提升测试数据生成效率。  相似文献   

2.
吴川  巩敦卫  姚香娟 《软件学报》2016,27(4):839-854
回归测试是迭代式软件开发的重要环节,测试数据生成是回归测试的前提.传统的回归测试方法,从已有的测试数据中选择部分测试数据,并生成一些新的测试数据,以验证程序的正确性.但是,该方法容易生成冗余的测试数据,从而降低了回归测试的效率.研究了回归测试的分支覆盖问题,通过利用已有测试数据的路径覆盖信息,并选择一定个数的路径,以覆盖所有的目标分支.首先,以若干路径形成的集合作为决策变量,以路径最少、覆盖的分支最多以及包含的未覆盖路径最少为目标,建立路径选择问题的3目标优化模型;然后,采用遗传算法求解上述模型时,设计了基于目标重要性的个体评价策略;最后,基于已有的测试数据与选择的路径之间的覆盖关系,确定需要生成的测试数据.将所提方法应用于6个基准工业程序测试中,并与其他方法比较.实验结果表明,采用该方法选择的路径,能够覆盖更多的分支,需要生成的测试数据更少,回归测试消耗的时间更短.  相似文献   

3.
为了提高测试数据自动生成的效率,提出基于改进遗传算法的多路径测试数据生成方法.首先将定向变异算子引入遗传算法,根据当前最优解产生变异个体,使变异向有利的方向进行,在保持种群多样性的同时提高局部搜索能力;然后综合考虑执行路径与目标路径间的路径相似程度以及谓词分支距离,设计了个体适应度评价函数,以有效地区分个体的优劣程度.针对基准程序进行实验,验证了该方法相对于传统方法的优越性.  相似文献   

4.
巩敦卫  任丽娜 《计算机学报》2014,(3):3489-3492,3498,3499
采用遗传算法生成回归测试数据近年来得到普遍关注,该方法高效生成测试数据的前提是合理利用已有的测试数据形成初始进化种群,并设计有针对性的遗传操作.但是,到目前为止,相关的研究成果尚不多见.文中研究采用遗传算法生成回归测试数据以覆盖目标路径时,已有测试数据的利用问题,提出一种新的回归测试数据进化生成方法.该方法根据已有测试数据穿越的路径与目标路径的相似度,选择合适的测试数据,作为初始进化种群的部分个体.进一步,根据已有测试数据穿越的路径与目标路径不相同子路径的节点对应的输入分量,确定对进化个体实施遗传操作的位置.理论分析表明,所提方法可以有效提高测试数据生成效率.将所提方法应用于典型基准和工业程序的测试,并与已有方法比较,实验结果证实了所提方法的优越性.  相似文献   

5.
针对在回归测试中原有的测试数据集往往难以满足新版本软件的测试需求问题,提出一种基于搜索的分层回归测试数据生成方法。方法主要包含覆盖目标方法集获取模块和测试数据生成模块。首先对新版本程序进行抽象分析,提取出方法调用图,利用方法调用轨迹和已有测试数据建立方法覆盖信息,获取目标方法集,并通过计算贝叶斯条件概率对目标方法集进行优先选择;利用Hadamard矩阵设计正交种群,同时结合已有测试数据集进行种群初始化,采用文化基因算法对目标集中方法生成测试数据。该方法针对4个基准程序与随机法和遗传算法以及基于粒子群算法测试数据生成方法相比,测试数据的生成效率平均提高了95.2%、78.2%和50.5%,测试数据检错能力平均提高了47.9%、33.6%和18.2%,实验结果表明,该方法更适合回归测试数据的生成。  相似文献   

6.
粒子群算法作为一种智能优化算法,因算法收敛速度快和简单易实现的优点,在测试数据生成中应用广泛.为了提升测试数据生成的效率,本文引入蜕变关系以覆盖待测程序的多条路径,提出融入蜕变关系的杂交粒子群算法并应用于软件测试数据生成中.首先,提出粒子群算法的自适应惯性权重调节方案,提高算法的收敛速度;其次,为避免粒子群算法陷入局部极值,呈现早熟性,本文提出杂交粒子群算法,将在遗传算法中交配的主要操作引入粒子群算法中;然后,对于已生成的测试数据,利用待测程序的蜕变关系衍生出新的测试数据以覆盖待测程序的其他路径.最后,通过实验结果验证,本文提出的方法在收敛速度和生成多路径的测试数据上有明显优势.  相似文献   

7.
利用多种群遗传算法解决多路径覆盖问题,是测试数据自动生成领域一个重要的研究方向.为了提高多路径覆盖测试数据自动生成的效率,提出一种将关键点概率和路径相似度相结合的多路径覆盖策略.首先,将理论路径划分成易覆盖、难覆盖及不可达路径;然后,通过易覆盖路径统计关键点概率,依此概率计算个体对生成测试数据的贡献度,并利用贡献度改进...  相似文献   

8.
基于遗传算法的分支覆盖测试用例设计   总被引:1,自引:0,他引:1  
软件结构测试最棘手的就是测试用例的自动生成.本文将遗传算法引入分支覆盖测试用例的自动生成中,利用遗传算法的全局寻优优势,生成达到全部分支覆盖的测试数据.文中结合实例建立了基于遗传算法的模型,并给出了参数编码、交叉和变异等关键技术的实现代码.  相似文献   

9.
数据流覆盖可有效地检测软件中的缺陷与错误.针对该覆盖准则中存在的插装监测开销庞大和测试数据生成效率不高的问题,提出一种新的基于定值-引用对覆盖的测试数据进化生成方法.该方法主要分为两部分,首先,通过约减测试目标来减少插装开销,提出的包含关系算法可找到一个定值—引用对子集,使得覆盖该子集就能保证所有测试目标被覆盖;然后,采用遗传算法为所有测试目标生成测试数据,设计的适应度函数综合考虑个体实际执行的路径与每个测试目标的定义明确路径的匹配程度.将该方法用于8个基准程序的测试数据生成,并与其他方法比较,结果显示其可有效提高程序覆盖率和测试数据生成效率.  相似文献   

10.
为了提高测试数据的自动生成效率,提出一种改进的量子遗传算法(IQGA),用以自动生成测试数据.该算法以角度编码染色体,减少染色体存储空间;采用一种新的动态旋转角策略,使种群在测试数据生成的过程中优秀测试数据能得以较好的遗传,促进种群收敛;并通过Hadamard门变异策略提高种群多样性,扩大种群探索路径.利用典型的三角形分类问题进行了验证,实验结果表明,改进的量子遗传算法具有用时短,生成测试数据少,覆盖率高等优点,测试数据自动生成效率高于传统量子遗传算法和遗传算法.  相似文献   

11.
丁蕊  董红斌  张岩  冯宪彬 《软件学报》2016,27(4):814-827
测试数据的自动生成,是提高软件测试效率的重要手段.从软件测试工程实践的角度提出快速生成测试数据的完整模型,更有利于提高测试数据生成效率.为此:(1)提出关键点路径表示法,以得出待测程序的理论路径数,并快速确定已覆盖路径的邻近路径;(2)用随机生成的数据运行简化后的插装程序,得到部分测试数据;(3)将理论路径分成易覆盖路径、难覆盖路径和不可行路径;(4)根据已覆盖路径及其测试数据提供的信息,使用遗传算法生成难覆盖路径的测试数据.仿真实验结果表明了所提方法的有效性.  相似文献   

12.
基于进化算法的软件测试数据生成的自动化   总被引:1,自引:0,他引:1  
介绍了进化算法在测试数据生成中的应用思想,分析了在不同的覆盖准则下应用进化算法时适值函数的设计方法,把遗传算法等进化算法应用到测试数据生成中的进化测试技术,克服了局部搜索算法无法为较复杂程序的分支生成测试输入的问题。  相似文献   

13.
夏春艳  张岩  宋丽 《软件学报》2016,27(4):802-813
路径覆盖是软件测试领域重要的测试方法之一.为了提高路径覆盖测试效率,在采用遗传算法进化生成路径覆盖的测试数据过程中,利用被测程序条件语句的相关性判定不可达路径,除路径中必经节点外,其他节点在不可达路径中出现的概率越大,穿越该节点的个体就具有越高的穿越度,在进化过程中应得到保护.提出了根据个体的穿越度设计适应度函数方法,从而提高测试数据的生成效率.将所提方法应用于基准程序和工业用例,并与同类方法比较可知,该方法生成路径覆盖的测试数据具有较高的效率.  相似文献   

14.
针对遗传算法在运算过程中产生的早熟问题,提出一种自适应动态优化策略(SAOGO),用以自动生成测试数据。通过优化变异概率等手段,实现了路径测试数据的自动生成。将Triangle(三角形判别问题)作为被检测程序进行性能测试,实验结果表明,基于该策略的测试数据自动生成系统能自动调整变异概率和保持优秀个体,有效的解决了早熟问题,同时也提高了自动生成测试数据的效率。  相似文献   

15.
为了全面测试演化软件,回归测试通常需要生成新的测试用例。concolic测试是一种沿着具体执行路径进行符号执行的软件验证技术,通过生成测试数据来执行程序的所有可行路径。回归测试中,由于concolic测试关注于程序本身,没有利用已有测试用例和软件演化信息,导致生成大量无效测试数据,浪费资源和时间。为解决此问题,提出一种基于路径引导的回归测试用例集扩增方法。该方法将目标路径作为引导,根据软件演化信息选择有利于覆盖目标路径的测试用例,利用已有测试用例跳过重叠初始子路径,对后续目标子路径进行concolic测试并生成覆盖目标路径的测试数据。案例分析表明,本文方法相比传统concolic测试,本方法在覆盖程序可行路径的同时,可有效减少concolic测试路径,提高测试数据生成效率。  相似文献   

16.
复杂软件大规模路径覆盖测试数据生成问题普遍存在,但缺乏有效的解决方法,为此提出一种基于自适应分组的大规模路径覆盖测试数据进化生成方法.在进化过程中,通过合并满足条件的组,将测试数据生成问题转化为数量不断减少的约束多目标优化问题,采用多种群遗传算法加以解决,并给出了合并后的种群形成策略.将所提出的方法应用于基准测试程序,结果表明可以大大减少测试数据生成时间,为提高软件测试效率提供了一条可行途径.  相似文献   

17.
为使原测试用例集满足软件演化后新版本程序的测试需求,提出一种基于天牛须搜索算法的软件测试数据扩增方法。静态分析新旧版本程序,获取调用图和程序执行信息并得到所需测试的目标方法集,通过计算目标方法包含错误的影响度获得有序目标方法集。根据原测试用例集的覆盖信息选取部分测试用例作为初始的进化种群,基于分支距离和分支嵌套深度设计适应度函数,采用改进的天牛须搜索算法对有序目标方法集实现测试数据扩增。实验结果表明,与基于遗传算法和粒子群优化算法的测试数据扩增方法相比,该方法的测试数据扩增效率约平均提升49.91%和24.76%,且有效降低了回归测试成本。  相似文献   

18.
覆盖测试是软件测试中的重要方法,路径覆盖测试中路径集的自动生成能提高测试效率。该文提出了一种描述程序分支情况的分支关系图,给出了基于分支关系图的路径集自动生成算法,实验证明了该方法的正确性,能有效地求出程序路径集。  相似文献   

19.
针对在回归测试中原有测试数据集往往难以满足新版本软件测试需求的问题,提出一种基于自适应粒子群算法(APSO)的测试数据扩增方法。首先,根据原有测试数据在新版本程序上的穿越路径与目标路径的相似度,在原有的测试数据集中选择合适的测试数据,作为初始种群的进化个体;然后,利用初始测试数据的穿越路径与目标路径的不同子路径,确定造成两者路径偏离的输入分量;最后,根据路径相似度构建适应度函数,利用APSO操作输入分量,生成新的测试数据。该方法针对四个基准程序与基于遗传算法(GA)和随机法的测试数据扩增方法相比,测试数据扩增效率分别平均提高了约56%和81%。实验结果表明,所提方法在回归测试方面有效地提高了测试数据扩增的效率,增强了其稳定性。  相似文献   

20.
覆盖测试是软件测试中的重要方法,路径覆盖测试中路径集的自动生成能提高测试效率。该文提出了一种描述程序分支情况的分支关系图,给出了基于分支关系图的路径集自动生成算法,实验证明了该方法的正确性,能有效地求出程序路径集。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号