首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 109 毫秒
1.
针对路径测试中的软件测试用例生成的问题,提出了一种基于改进PSO算法的软件测试用例生成方法。首先,采用分值函数叠加方法来构造PSO算法中的适应度函数,并对粒子位置更新策略进行改进。接着,构建算法的控制流程图并进行目标路径选择。然后,利用程序插装收集个体的适应度值。最后,测试数据生成程序执行,得到合适的测试数据。通过在三角形分类判别案例程序上的实验结果表明,提出的软件测试用例生成方法能够生成更合适的测试用例,且有效减少了生成所需时间。  相似文献   

2.
针对Java单元测试自动化程度和测试效率较低的问题,对基于Java程序的基本路径测试方法进行研究,提出了基于Java代码的基本路径生成方法和程序插桩方法,给出了插桩节点和控制流图节点的定义。首先,通过对Java源代码进行分析,构建程序的控制流图,进而对控制流图进行遍历生成基本路径集合;然后,对被测程序进行插桩,以获取程序的执行路径,插桩过程中保持节点和基本路径中的节点一致,使得插桩后的被测程序执行时得到的路径能够和基本路径集合进行自动化比对;最后,通过以测试数据为输入执行被测程序,对执行路径和基本路径进行比较,判断测试数据集对基本路径的覆盖度。通过实验,验证了所提出方法的有效性。  相似文献   

3.
实际测试用例一般不能满足变异测试充分,但遗传算法搜索空间较大,可使用其生成变异测试充分度较高的测试用例集.适应值函数的构造使用分支函数插装法.首先根据杀死弱变异体的必要性条件,构造必要性条件分支函数,插装于源程序中;然后根据可达性条件,构造可达性条件的分支函数并插装.使用基于面向路径的遗传算法来搜索杀死弱变异体的测试用例.将终止条件改为程序最终结果的不同,插装函数不变,生成满足条件的强变异测试用例.对于多重弱变异,按熙可达路径实施等价类划分,每一个等价类采用与单重弱变异相同的方法.实验结果表明,遗传算法可生成杀死各类变异体的测试用例,优于随机生成的测试用例.  相似文献   

4.
路径剖析技术用于获取和分析程序中各条路径的执行次数.路径剖析采用在待剖析程序中插装探针的方式以跟踪执行,并使用对路径进行编码的方式以高效地获取剖析结果.选择性剖析是针对用户感兴趣的一部分路径,在非选择性剖析技术的基础上进行优化,以尽可能低的耗费来完成剖析.现有的选择性剖析技术采用的优化措施局限于减少探针数目和压缩路径编码空间,而且其允许的用户兴趣路径局限于无环路径.文中提出了一种新的选择性剖析方法 PSP(Profiling Selected Paths),可以精确的剖析带有循环的兴趣路径,并使用了在执行过程中对非兴趣路径进行检测和提前终止的技术来降低耗费.理论分析和实验评估表明PSP方法能够精确地剖析兴趣路径,并使用兴趣路径来提升剖析效率.  相似文献   

5.
重载是面向对象技术中的重要特性,由于它在程序中的普遍使用,在使用基于函数调用的路径覆盖方法对程序进行测试时,会出现很多冗余函数路径,浪费测试资源和时间。针对这一问题,提出了一种基于状态机的重载唯一性确定方法。依据面向对象特点,分析提取出函数所有调用信息,将提取到的函数原型与函数调用点在状态机上进行迭代比对,确定每个调用点唯一对应的函数原型。实验表明,该方法针对程序代码中的重载函数调用点,能确定与之唯一对应的函数,有效剔除重载导致的冗余函数路径,提高测试效率。  相似文献   

6.
王璐璐  李必信  周晓宇 《软件学报》2012,23(6):1413-1428
路径剖析是动态分析的一项重要技术,通过获取和分析程序中各条路径的执行次数,在编译优化、软件调试和测试等诸多方面发挥重要作用.针对现有技术剖析能力不足的情况(即只能或者剖析非循环路径,或者首先界定循环体执行次数的上限、然后对于执行循环体不多于该次数的路径进行剖析),对使用单个探针变量剖析过程内路径的方法进行了改进,提出了全路径剖析PAP方法,利用探针插装和回溯过程获取路径的执行次数,可以剖析过程内包含任意有限长度的路径;进一步地,针对PAP方法所需探针数目多于EPP方法的问题,通过对控制流图中包含的可规约无环子图实施EPP方法,可以减少PAP方法所需探针的数目.另外,作为PAP方法的一个典型应用,还讨论了如何通过在方法调用图中添加返回边,再利用PAP方法获取方法层次的执行序列的基本思想,满足了某些方法级动态影响分析技术的需要.实验和实例分析表明,PAP在处理循环路径剖析的问题上是有效的,并有很好的效率.  相似文献   

7.
基于蚁群算法的软件测试数据自动生成   总被引:16,自引:0,他引:16  
傅博 《计算机工程与应用》2007,43(12):97-99,211
提出了一种基于蚁群算法的测试数据自动生成方法。该方法采用位串形式编码,实现了被测程序输入空间到蚂蚁路径网络的映射模型。根据程序插装函数定义的路径信息素轨迹强度,蚂蚁进行群体协作搜索最佳路径,生成测试数据。在基本蚁群算法基础上,通过引入变异算子和自适应挥发系数,提高了蚂蚁路径的多样性,克服了早熟停滞的缺陷。和模拟退火遗传算法进行了对比实验研究,结果表明了该方法的可行性,生成测试数据的效率优于模拟退火遗传算法。  相似文献   

8.
提出了一种基于免疫遗传算法的路径测试数据的自动生成的方法。该算法在遗传算法中加入免疫算子,免疫算子其中包括获取疫苗、注射疫苗和免疫选择。并在海明距离法的基础上,文中提出了一种路径测试的适应度函数的改进方法。实验表明,采用改进的适应度函数的免疫遗传算法在数据自动生成上效果更优。  相似文献   

9.
基于自适应遗传算法的路径测试数据生成   总被引:6,自引:4,他引:2       下载免费PDF全文
针对简单遗传算法容易产生早熟收敛的问题,提出一种自适应遗传算法,用以自动生成测试数据。通过把程序插装法与该遗传算法相结合,实现了路径测试数据的自动生成。将三角形分类程序作为实例对其进行性能测试,实验结果表明,基于自适应遗传算法的测试数据自动生成系统能自动改变选择概率和交叉概率,提高了自动生成测试数据的效率。  相似文献   

10.
农产品需求量增加对物流配送提出较高挑战,基于此提出时间窗约束下农产品物流配送路径优化方法研究。依客户预期服务时间需求,取混合时间窗约束函数确定时间窗、物流配送车辆最大载重、配送路径长度与物流配送车辆约束条件,构建农产品物流配送路径优化模型;基于农产品物流配送需求改进传统遗传算法,求解构建模型,即获农产品物流配送路径优化结果。实验结果显示:相较生鲜农产品多车型冷链物流车辆路径优化,所提方法最优农产品物流配送路径获取迭代次数更少、配送路径长度更短、总成本更低,应用性能更佳。  相似文献   

11.
杜莹  孙百才  巩敦卫  田甜  姚香娟 《软件学报》2022,33(9):3297-3311
路径测试是一种非常重要且应用广泛的结构测试方法, 已有路径生成方法的测试效率不高、测试开销较大, 且易生成冗余测试路径. 针对以上问题, 主要研究路径选择问题的优化模型及其进化求解方法, 目的在于: 在不降低测试覆盖率的前提下, 减少冗余路径的数量, 降低测试消耗. 首先, 以多条路径作为决策变量, 基于该决策变量包含的边数和路径数, 建立多目标优化模型; 然后, 采用多目标进化算法求解该模型, 得到目标路径集. 将所提方法应用于7个基准测试程序, 并与其他算法比较. 实验结果表明, 相比其他算法, 所提方法能够在保证测试充分性的条件下, 降低测试消耗, 从而提高测试效率.  相似文献   

12.
赵会群  卢飞 《计算机科学》2017,44(4):114-117
路径测试是一种根据路径设计测试用例的白盒测试技术,而 基本路径测试是其中运用最广泛的一种路径测试方法。基本路径测试是在被测程序的控制流图的基础上导出基本的可执行的路径集合,因此程序控制流图是基本路径集自动生成的关键。考虑到依赖程序控制流图生成基本路径集的低效性,提出基于模型代数的基本路径集的自动生成方法。该方法通过分析被测程序,自动生成程序的模型代数表达式,并在模型代数表达式的基础上生成基本路径集。最后通过经典案例证明了该方法的有效性。  相似文献   

13.
路径测试中基本路径集的自动生成   总被引:1,自引:0,他引:1       下载免费PDF全文
路径测试是一种重要的白盒测试技术,具有较高的故障覆盖率。基本路径集覆盖了程序中所有语句和分支,该文测试了基本路径集中的路径,在测试资源有限的情况下得到较好的测试效果,并提出了基于图的深度优先搜索的基本路径集的生成方法,该算法采用的生成子路径的方法可以有效地减少路径生成过程中的搜索过程,提高路径生成的效率。 关键词:  相似文献   

14.
Path testing is the strongest coverage criterion in white box testing. Finding target paths is a key challenge in path testing. Genetic algorithms have been successfully used in many software testing activities such as generating test data, selecting test cases and test cases prioritization. In this paper, we introduce a new genetic algorithm for generating test paths. In this algorithm the length of the chromosome varies from iteration to another according to the change in the length of the path. Based on the proposed algorithm, we present a new technique for automatically generating a set of basis test paths which can be used as testing paths in any path testing method. The proposed technique uses a method to verify the independency of the generated paths to be included in the basis set of paths. In addition, this technique employs a method for checking the feasibility of the generated paths. We introduce new definitions for the key concepts of genetic algorithm such as chromosome representation, crossover, mutation, and fitness function to be compatible with path generation. In addition, we present a case study to show the efficiency of our technique. We conducted a set of experiments to evaluate the effectiveness of the proposed path generation technique. The results showed that the proposed technique causes substantial reduction in path generation effort, and that the proposed GA algorithm is effective in test path generation.  相似文献   

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

16.
动态符号执行是一种有效的软件测试方法,但由于受到约束求解器求解能力的限制,在面对较为复杂的程序和路径条件时,动态符号执行的路径覆盖率还有待提升。针对上述问题,提出了一种遗传算法辅助的动态符号执行测试方法,并基于此方法实现了原型工具JDart-Ga。该方法结合遗传算法的优势,生成约束求解器无法求解的约束条件对应测试输入,从而提升动态符号执行的路径覆盖率。实验结果表明,在测试存在动态符号执行无法覆盖路径的3个实验对象时,所提出方法的路径覆盖率与JDart相比分别提升了16%至23%。  相似文献   

17.
McCabe提出的基本路径测试法(McCABE T J. A complexity measure. IEEE Transactions on Software Engineering, 1976, SE-2(4): 308-320)是动态白盒测试技术中严谨而有效的方法,但存在测试用例设计效率较低的问题,影响了该方法在工程项目中的广泛应用。为了解决这一问题,从被测程序的基本结构出发,提出一种基于组合的基本路径测试用例设计方法。创建一种基于Z路径覆盖的基本单元图,构建由基本单元图组合形成控制流图的组合规则,以此为基础提出了基本路径组合算法,该算法只需一次扫描程序得到程序基本结构的路径集,将这些路径进行组合即可生成被测程序的基本路径集。该方法比McCabe所提出的方法构造过程简洁,能有效提高基本路径测试用例设计的效率。  相似文献   

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

19.
一个有效的通路时滞故障测试生成系统DTPG   总被引:1,自引:2,他引:1  
本文提出了一种两向量测试模式下的通路时滞故障分类,并在此基础上设计并实现了一个有效的通路时滞故障测试生成系统DPTG,该系统可识别强健可测通路、非强度可测通路和功能可敏化 通路。  相似文献   

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

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