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

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

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

4.
张岩 《计算机工程》2012,38(10):57-59
提出一种基于蜕变关系的多路径覆盖测试数据生成方法。在多路径测试数据进化生成过程中,对于已生成的测试数据,利用被测程序的蜕变关系衍生新的测试数据,以新数据为输入执行被测程序,如果穿越的路径是未找到测试数据的目标路径,则该路径的测试数据同时被生成,从而提高多路径覆盖测试数据的进化生成效率。在典型三角形分类基准测试程序中的应用结果验证了该方法的有效性。  相似文献   

5.
针对目前复杂系统多路径覆盖测试用例生成方法较少的问题,提出一种新的基于复杂系统的多路径覆盖测试用例生成方法。首先改进遗传算法,在种群进化中对父代选择、个体进化的学习能力和种群的自适应更新方法进行改进,以有效避免算法收敛过慢或者"早熟"现象。然后根据多路径覆盖测试的特点与要求,设计基于路径匹配的适应度函数,使得运行一次算法便可生成覆盖多条目标路径的多个测试用例。最后将该方法用于几个基准程序。实验结果表明,与已有方法比较,此方法的测试用例生成效率显著提高。  相似文献   

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

7.
面向路径覆盖的演化测试用例生成技术   总被引:6,自引:2,他引:4  
谢晓园  徐宝文  史亮  聂长海 《软件学报》2009,20(12):3117-3136
为了解决目前结构性演化测试主要集中于面向语句、分支等覆盖标准,缺乏面向路径覆盖标准的问题,提出了基于相似性度量的适应值函数构造方法,以用于生成覆盖指定路径的测试用例.首先给出适应值函数构造基本模型,即利用测试数据的真实执行轨迹来评估它相对于指定路径的适应值.该模型的核心在于度量执行轨迹与指定路径之间的相似度,为此给出了3种不同的相似度度量算法.该模型可以完全自动化地为每一条目标路径构造出特定的适应值函数.实验结果表明,相对于其他路径测试方法,该方法在针对复杂路径的情况下具有一定的优势.此外,实验结果还指出了该方法的适用性范围和局限所在.  相似文献   

8.
为了减小适应度函数计算量, 提高测试数据自动生成效率, 提出一种基于二叉树表示的搜索空间数据缩减方法。利用二叉树编码, 记录全空间中的覆盖路径和路径长度; 将目标路径和测试路径长度进行对比, 去除路径长度相差较大的路径; 利用遗传算法生成测试数据并同已有两种方法进行比较。实验结果表明, 在保证软件测试数据正确生成的情况下, 该方法在进化代数和运行时间上有明显优势, 生成测试数据效率高。  相似文献   

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

10.
基手多态蚁群算法的测试用例自动生成   总被引:1,自引:0,他引:1  
提出了一种基于多态蚁群算法的测试数据自动生成方法。该方法使用二进制编码将输入数据转换为位串;然后在蚁群算法的基础上将蚁群分为三类,据其信息素的不同采用不同的移动准则,重点对侦察蚁和搜索蚁进行功能分析。将局部搜索与全局搜索结合起来,结合路径的相似度,缩小搜索空间;根据适应度函数确定最好路径,既解决局部最优化问题,又提高收敛效率。与基本蚁群算法对比,其结果显示该方法效率优于基本蚁群算法。  相似文献   

11.
提出了基于GA的多路径测试数据生成的概念和实现方法。讨论了为了实现多路径测试数据生成,设计有效的和高效的适配函数应考虑的因素,用实际案例针对提出的适配函数进行了功能性能验证。结果表明了适配函数设计的有效性。  相似文献   

12.
以程序结构测试自动生成为研究背景,提出了一种重叠路径结构用以描述程序路径,并以此为基础设计了一种多路径测试数据生成适应值算法,实现了一次搜索完成多条路径的测试数据生成。算法通过目标路径间共享遗传算法产生的中间个体减少单一路径搜索始于随机产生的无序个体的初期迭代,从而加快搜索收敛的速度。应用于常用的基准程序和取自实际项目的程序,该算法与典型的分支谓词距离算法相比平均消耗时间缩短了70.6%。  相似文献   

13.
There has been significant interest in automating testing on the basis of an extended finite state machine (EFSM) model of the required behaviour of the implementation under test (IUT). Many test criteria require that certain parts of the EFSM are executed. For example, we may want to execute every transition of the EFSM. In order to find a test suite (set of input sequences) that achieves this we might first derive a set of paths through the EFSM that satisfy the criterion using, for example, algorithms from graph theory. We then attempt to produce input sequences that trigger these paths. Unfortunately, however, the EFSM might have infeasible paths and the problem of determining whether a path is feasible is generally undecidable. This paper describes an approach in which a fitness function is used to estimate how easy it is to find an input sequence to trigger a given path through an EFSM. Such a fitness function could be used in a search-based approach in which we search for a path with good fitness that achieves a test objective, such as executing a particular transition, and then search for an input sequence that triggers the path. If this second search fails then we search for another path with good fitness and repeat the process. We give a computationally inexpensive approach (fitness function) that estimates the feasibility of a path. In order to evaluate this fitness function we compared the fitness of a path with the ease with which an input sequence can be produced using search to trigger the path and we used random sampling in order to estimate this. The empirical evidence suggests that a reasonably good correlation (0.72 and 0.62) exists between the fitness of a path, produced using the proposed fitness function, and an estimate of the ease with which we can randomly generate an input sequence to trigger the path.  相似文献   

14.
针对遗传算法在多路径测试用例自动生成中的不足,提出基于退火遗传算法的生成方法。对遗传算法的适应度函数进行优化设计,以满足多路径测试用例生成。同时在算法中引入路径存储机制,从而增强测试用例自动生成的功效。在提高算法的局部搜索能力方面,对遗传算法的两点交叉算子进行改进,并引入模拟退火算法到变异操作。三角形判断程序的测试用例生成实验结果,验证了该方法的有效性。  相似文献   

15.
测试数据自动生成对降低软件开发成本是非常重要的.本文首先提出了基于程序结构和程序规范相结合来设计适应度函数的新方法:分别设计基于程序结构和基于程序规范的适值函数,再将二者结合作为最终的适应度函数值;然后,在采用上述适应度函数定义的基础上,构造了一种软件测试数据的进化生成方法.  相似文献   

16.
The software testing phase in the software development process is considered a time-consuming process. In order to reduce the overall development cost, automatic test data generation techniques based on genetic algorithms have been widely applied. This research explores a new approach for using genetic algorithms as test data generators to execute all the branches in a program. In the literature, existing approaches for test data generation using genetic algorithms are mainly focused on maintaining a single-population of candidate tests, where the computation of the fitness function for a particular target branch is based on the closeness of the input execution path to the control dependency condition of that branch. The new approach utilizes acyclic predicate paths of the program’s control flow graph containing the target branch as goals of separate search processes using distinct island populations. The advantages of the suggested approach is its ability to explore a greater variety of execution paths, and in certain conditions, increasing the search effectiveness. When applied to a collection of programs with a moderate number of branches, it has been shown experimentally that the proposed multiple-population algorithm outperforms the single-population algorithm significantly in terms of the number of executions, execution time, time improvement, and search effectiveness.  相似文献   

17.
适应度函数的设计在基于搜索的测试用例生成技术中占据重要的位置,然而在某些特殊的程序中,如存在嵌套、非结构性跳转或因return,break等语句跳出循环的程序,已有的适应度函数无法评价到所有的分支.目前的方法是修改程序的源代码,以使每个分支得到评价.但修改源代码不但可能影响程序的原有结构、引入错误,而且很难实现自动化.针对这一问题,提出一种基于模式组合的粒子群优化测试用例生成方法.首先,将分支条件定义为"模式",即,一类具有相同特征且能提高适应度值的个体集合,并改变其分支函数的插桩方式,可解决分支条件不完全评价的问题;然后,设计一种新的交叉算子,寻找到所有使模式的分支函数值最小的个体,将这些个体中含有模式的部分通过交叉算子组合到一个个体上,既可防止模式在进化过程中被破坏,又可因多种模式的组合而提高个体的适应度值;最后,使用局部搜索策略对种群中的最优个体进行搜索,提高粒子群优化算法的局部搜索精度,进一步提高测试用例生成效率.为了评价该方法的有效性,基于一组基准程序和开源程序进行实验.实验结果表明:对于含有模式的程序,该测试用例生成方法与已有方法相比,在覆盖率和平均进化代数上均有明显优势.  相似文献   

18.
针对基于控制流的测试充分性准则易错失面向对象程序中的状态依赖关系,提出一种基于数据流准则的测试用例自动生成方法。通过数据流分析获取待覆盖的目标定义使用对,利用遗传算法自动生成覆盖定义使用对的测试用例,根据适应度函数指导测试用例的进化。将该方法与基于分支覆盖和语句覆盖的方法相比较。实验结果表明, 与其他方法相比,该方法可以检测出更多的变异体,适应度函数的设计降低了进化代数。  相似文献   

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

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