首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 15 毫秒
1.
一种基于约束的变异测试数据生成方法   总被引:1,自引:0,他引:1  
作为衡量测试用例集完备性的测试策略,变异测试是一种"面向缺陷"的单元测试技术,主要用来生成完备的测试用例集.其中面向路径测试数据生成技术通过约束系统构造和求解过程实现用例集生成,是一种高效的测试用例生成技术.但目前大部分面向路径测试用例生成技术只考虑了程序语句间的控制依赖,即通过对控制流图的分析来构建约束系统,而忽略了语句间的数据依赖对约束系统的影响.充分考虑两种依赖关系,针对域削减的测试数据生成技术进行了改进,提出了一种考虑数据依赖的域削减方法.实验表明,这种方法在变异测试数据生成的成功率和执行效率上都有较大程度的提高.  相似文献   

2.
针对约束系统中非线性谓词函数、指针、数组等复杂运算的求解问题,运用约束满足搜索算法,通过减少约束方程组中参数变量的个数,逐步缩小参数变量的取值范围,提出基于符号法求解约束的改进算法。对含有非线性谓词、数组的程序实例进行实验,结果表明改进算法能有效生成测试用例。  相似文献   

3.
由于现有基于符号执行的测试用例生成方法无法对关于字符串的测试用例生成提供有效支持,因此提出并实现了基于符号执行与混合约束求解测试用例自动化生成方法。该方法利用模型检测软件对被测软件源代码进行符号执行,生成关于字符串与数值的混合约束集,利用字符串-数值约束求解器对约束集进行求解,最终根据求解结果生成软件测试用例与不可达路径。实验结果表明,该方法较好地支持了关于字符串测试用例生成,且具有良好的效率与准确性。  相似文献   

4.
刘杰  曹琰  魏强  彭建山 《计算机工程》2012,38(22):24-27
符号执行方法处理循环时存在路径爆炸的问题。为此,提出一种基于归纳变量的循环依赖分析方法。通过识别循环归纳变量及符号表达式,结合边界约束条件生成可达归纳变量分支的路径约束,并采用符号化映射方法分析嵌套循环归纳变量依赖问题,从而在不展开循环的情况下生成覆盖归纳变量分支的测试用例。对开源工具Libxml2进行实验,该方法能发现其中2个while循环所引发的数组访问越界错误。  相似文献   

5.
文中基于符号执行理论,设计了一种面向C语言的静态分析方法。通过词法分析和语法分析构建了程序的抽象语法树,并在此过程中对源代码进行规范性检查,再根据函数调用关系与抽象语法树来确定程序分析层次,并通过约束求解器确定程序中每一条可执行路径,最后依照程序的可执行路径得到每个变量最终的符号执行结果。该方法支持基于C语言文法的程序规范性检查,便于代码质量度量。利用该方法得到的抽象语法树,可开展静态构架分析,同时利用变量值的符号表达式可辅助测试用例生成,有助于提高测试的效率和质量。  相似文献   

6.
测试用例自动生成是软件测试自动化中最为关键的组成部分之一,符号执行作为一种程序分析方法,以其可提供高覆盖率测试用例的优势被广泛应用其中,但路径爆炸和约束求解问题很大程度制约了符号执行技术在现实程序分析中的应用。将研究粒度由语句提升至函数,利用抽象语法树和字节码序列提取到的函数关键信息和控制信息得到函数调用关系模型,设计算法生成函数调用路径(函数调用路径表示程序从开始到结束之间函数的调用或执行序列)。该方法不仅减少了测试路径数目缓解了路径爆炸问题,还有效解决了控制条件中存在函数导致符号表达式难求解的问题。实验结果表明该方法可优化测试路径集,在不降低覆盖率的前提下减少测试用例数量。  相似文献   

7.
马春燕  李尚儒  王慧朝  张磊  张涛 《软件学报》2019,30(5):1450-1463
测试预言生成技术是软件工程测试领域的研究热点之一.没有可以利用的历史测试用例是目前大部分测试预言生成技术的普遍假设,但是这种假设会使我们错过利用现有部分测试用例协助自动生成新测试用例预言的机会.在已知部分测试用例集的情况下,提出了基于敏感变量和线性感知机的新测试用例的测试预言自动生成方法.首先,收集已知测试用例执行的语句覆盖和不同断点处内存值集合作为训练集,计算与新测试用例执行覆盖信息高度相似的测试用例集;其次,计算各断点处表征成功或失败的敏感变量集;然后,应用线性感知机求解每个断点处成功或失败概率预测的门限值;在此基础上,给出新测试用例测试预言自动生成的方法,并对方法进行讨论;最后,采用7个程序的129个故障版本作为实验对象,对共计14 300个测试用例生成测试预言.实证评价表明,测试预言准确率平均达到96.2%.该成果可以形成测试用例集合构造的"滚雪球效应",不断迭代自动生成新测试用例的测试预言.  相似文献   

8.
布尔表达式约束在软件规格说明和程序中广泛存在,这些约束可作为软件系统的模型,成为测试用例生成依据。本文调研分析基于布尔表达式约束的测试用例生成方法,主要分为基于约束语法的测试和基于约束语义的测试。归纳总结基于约束语法测试的各种故障类型和测试策略,并比较各种测试策略的适用情形和故障检测能力,也对基于约束语义测试的各种约束获取和求解方法进行性能分析,并介绍了典型工具。最后对未来的研究发展进行展望。  相似文献   

9.
区间算术在软件测试中的应用   总被引:10,自引:0,他引:10  
王志言  刘椿年 《软件学报》1998,9(6):438-443
程序结构测试可以分为4个阶段:静态分析、路径选择、测试数据生成和动态分析.本文应用区间算术在测试数据生成阶段对约束集求解.由于正则约束式的引入,能够处理复杂的逻辑表达式组,找到一组解以供第4阶段动态分析使用.文中提出的算法具有非常大的灵活性,可以处理非线性约束,经改进后,它甚至可以处理包含函数的表达式.  相似文献   

10.
介绍了一种基于程序行为切片的测试用例生成系统的实现方案,系统在不扫描全部程序路径的情况下,生成可以覆盖全部程序行为的测试用例集。系统分为静态分析、动态符号执行以及测试用例生成3个模块。在静态分析模块中根据输入的程序代码分析程序的控制流和信息流,提取程序的控制依赖和数据依赖,并计算程序的潜在依赖;动态符号执行模块求解约束条件、生成测试用例和分析代码执行过程;测试用例生成模块根据执行路径和依赖关系计算被路径覆盖的程序行为切片和未被覆盖的程序行为切片,然后根据未被覆盖的程序行为切片,引导符号执行生成能覆盖新的程序行为切片的测试用例。实验证明,本系统生成的测试用例集可以保证覆盖所有的程序行为,同时能显著减少生成的测试用例数量。  相似文献   

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

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