首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 46 毫秒
1.
Gupta方法的改进   总被引:2,自引:0,他引:2  
单锦辉  王戟  齐治昌  吴建平 《计算机学报》2002,25(12):1378-1386
Gupta等提出一种线性化谓词函数的方法(简称Gupta方法),为指定程序路径自动生成测试数据。该文给出了一种模型语言,研究静态,动态数据依赖关系的性质以及Gupta方法中各概念的形式化定义,将Gupta等提出的谓词出推广为路径静态切片,证明了路径静态切片构造算法的正确性,对Gupta方法的改进,省略了构造谓词片和输入依赖集的过程,改进后的方法构造线性约束的效率更高,以改进后的方法为核心算法,开发了面向路径的测试数据自动生成的原型工具,并用实际的程序路径对该工具进行实际,结果表明改进后的方法是比较有效的。  相似文献   

2.
遗传算法及其在软件测试数据生成中的应用研究   总被引:8,自引:1,他引:8  
文中首先给出了遗传算法的形式化的表示和一个基于此算法的测试数据生成系统原型。然后结合一个典型的测试单元例程,介绍系统实现中必须解决的参数选取、参数编码、评价函数的构造及驱动模块自动生成等关键问题。最后,介绍了一个实用的Ada软件测试数据生成工具——TCAG。  相似文献   

3.
将遗传算法应用于覆盖指定路径的测试数据生成已得到了广泛的研究.具体实现中,影响测试数据生成效率的因素很多,如先验知识,GA参数,路径复杂度等.本文在简要介绍应用GA生成测试数据的关键技术后,设计实验分析了影响测试数据生成的部分因素,并据此得出了一些结论.  相似文献   

4.
基于正则表达式的测试数据自动生成技术   总被引:2,自引:1,他引:1  
董敏  毕盛  齐德昱 《计算机工程》2009,35(16):29-31
软件测试是提高软件可靠性、保证软件质量的重要手段。数据自动生成是测试自动化的重要组成部分。提出一种基于正则表达式的测试数据自动生成技术,生成的数据应该具有随机性、可控制、可定义、有意义、无错误等特性,特别是对大字段/专有类型等特殊类型的支持,可以解决目前测试数据自动生成存在的问题,具有良好的扩展性。  相似文献   

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

6.
本文在研究软件测试数据自动生成技术的基础上,为决解空间爆炸的问题提出了将一种新兴的智能算法—菌群算法应用到软件测试数据的自动生成当中。但为了能准确并快速的生成测试数据还对算法进行了改进,然后在用随机法随机生成的测试数据覆盖被测程序大部分路径的基础上,运用改进后的菌群算法对剩余指定路径进行覆盖从而达到路径全覆盖的效果,实现测试数据自动生成系统。最后用一个简单实验验证了该系统的有效性。  相似文献   

7.
基于GA-PSO算法的路径测试数据自动生成*   总被引:5,自引:2,他引:3  
为了实现测试数据自动生成,许多遗传算法及其改进算法应用到了测试领域。针对遗传算法具有较强的全局搜索能力,但局部搜索能力较弱,且收敛速度慢的特点。将遗传算法与粒子群算法结合起来形成新的混合算法(GA-PSO),并成功应用到软件测试数据自动生成过程中。实验结果表明,该算法结合了遗传算法和粒子群算法的优点,在保证软件测试数据正确生成的情况下,极大地提高了数据生成的效率。  相似文献   

8.
测试数据生成是软件测试的核心与关键,本文介绍了迭代松弛法以及对迭代松弛法进行改进,改进后的方法比原方法生成测试数据的能力更强,不仅能够用于白盒测试数据的自动生成,还能够用于黑盒测试数据的自动生成。在此基础上提出一个面向路径的测试数据生成框架。并讨论该框架在单元测试、组装测试中的应用。  相似文献   

9.
软件测试数据自动化生成技术是软件测试自动化的重要组成部分,为了进一步提高软件测试数据自动生成质量和效率,在建立软件测试数据自动生成模型的基础上融入一种改进的遗传算法,该算法通过引进自适应交叉算子和变异算子把模拟退火算法融入其中,很大程度上扩大了测试数据搜索生成范围,一定程度上克服了遗传算法的早熟收敛现象。  相似文献   

10.
傅博 《计算机工程》2006,32(14):177-178
软件测试数据自动生成是软件测试中的重要难题之一。测试数据自动生成问题可归结为测试数据的搜索或组合优化问题,通常具有不连续、不可微和非线性等特征,适合于采用遗传算法、神经网络等人工智能技术进行解决。国内外学者在此方面作了不少研究并取得一定的成果,但也存在一些问题。该文系统地综述了近年来软件测试数据智能化生成的研究和存在的问题,并对未来的发展进行了展望。  相似文献   

11.
    
Automatic test data generation usually concerns identifying input values that cause a selected path to execute. If a given path involves pointers, then input values may be represented in terms of two‐dimensional dynamic data structures such as lists or trees. Thus, it is very important to identify the shape of the input data structure describing how many nodes are required and how nodes are connected each other. The approach presented in this paper makes use of the points‐to information for each statement in the selected path for the shape generation. It also converts each statement into a static single assignment (SSA) form without pointer dereferences. The SSA form serves as a system of constraints to be solved to yield input values for non‐pointer types. An empirical evaluation shows that shape generation can be achieved in linear time in terms of the number of pointer dereference operations. Copyright © 2008 John Wiley & Sons, Ltd.  相似文献   

12.
程序切片技术在软件测试中的应用*   总被引:5,自引:1,他引:4  
基于程序切片的软件测试是一种以程序或程序和需求相结合为基础的测试,它根据程序的不同切片来缩小软件的测试范围、提高软件测试的效率、辅助测试数据的自动生成等.同时由于程序切片不仅考虑了数据依赖和控制依赖,还考虑了程序存在的其他各种依赖关系,使得测试的准确性得到提高.详细阐述了目前存在的各种切片技术及其应用领域,重点探讨了目前切片技术在测试领域中的具体应用.  相似文献   

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

14.
一种基于约束的变异测试数据生成方法   总被引:1,自引:0,他引:1       下载免费PDF全文
作为衡量测试用例集完备性的测试策略,变异测试是一种“面向缺陷”的单元测试技术,主要用来生成完备的测试用例集.其中面向路径测试数据生成技术通过约束系统构造和求解过程实现用例集生成,是一种高效的测试用例生成技术.但目前大部分面向路径测试用例生成技术只考虑了程序语句间的控制依赖,即通过对控制流图的分析来构建约束系统,而忽略了语句间的数据依赖对约束系统的影响.充分考虑两种依赖关系,针对域削减的测试数据生成技术进行了改进,提出了一种考虑数据依赖的域削减方法.实验表明,这种方法在变异测试数据生成的成功率和执行效率上都有较大程度的提高.  相似文献   

15.
一种用于测试数据生成的动态程序切片算法   总被引:3,自引:0,他引:3  
王雪莲  赵瑞莲  李立健 《计算机应用》2005,25(6):1445-1447,1450
介绍了程序切片技术的基本概念,提出了一种基于前向分析的动态程序切片算法,探讨了程序切片在软件测试数据生成中的应用,结果表明可以有效地提高基于路径的测试数据生成效率。  相似文献   

16.
    
Test data generation is one of the most technically challenging steps of testing software, but most commercial systems currently incorporate very little automation for this step. This paper presents results from a project that is trying to find ways to incorporate test data generation into practical test processes. The results include a new procedure for automatically generating test data that incorporates ideas from symbolic evaluation, constraint‐based testing, and dynamic test data generation. It takes an initial set of values for each input, and dynamically ‘pushes’ the values through the control‐flow graph of the program, modifying the sets of values as branches in the program are taken. The result is usually a set of values for each input parameter that has the property that any choice from the sets will cause the path to be traversed. This procedure uses new analysis techniques, offers improvements over previous research results in constraint‐based testing, and combines several steps into one coherent process. The dynamic nature of this procedure yields several benefits. Moving through the control flow graph dynamically allows path constraints to be resolved immediately, which is more efficient both in space and time, and more often successful than constraint‐based testing. This new procedure also incorporates an intelligent search technique based on bisection. The dynamic nature of this procedure also allows certain improvements to be made in the handling of arrays, loops, and expressions; language features that are traditionally difficult to handle in test data generation systems. The paper presents the test data generation procedure, examples to explain the working of the procedure, and results from a proof‐of‐concept implementation. Copyright © 1999 John Wiley & Sons, Ltd.  相似文献   

17.
    
About a decade after the initial proposal to use model checkers for the generation of test cases we take a look at the results in this field of research. Model checkers are formal verification tools, capable of providing counterexamples to violated properties. Normally, these counterexamples are meant to guide an analyst when searching for the root cause of a property violation. They are, however, also very useful as test cases. Many different approaches have been presented, many problems have been solved, yet many issues remain. This survey paper reviews the state of the art in testing with model checkers. Copyright © 2008 John Wiley & Sons, Ltd.  相似文献   

18.
    
Concurrent programming is increasingly present in modern applications. Although it provides higher performance and better use of available resources, the mechanisms of interaction between processes/threads result in a greater challenge for software testing activity. The nondeterminism present in those applications is one of the main issues during the test activity since the same test input can produce different possible execution paths, which may or not contain defects. The test data automatic generation can alleviate this problem, ensuring higher speed and reliability in software testing activity. This paper explores the automatic test data generation for concurrent programs through Genetic Algorithm, a bioinspired optimization technique, and proposes a test data generation approach for concurrent programs, called BioConcST, and a new operator for the selection of test subjects, called FuzzyST, which uses fuzzy logic. The approaches were evaluated in an experimental study towards their validation. The results showed that BioConcST is more promising than the other approaches at all analyzed levels. FuzzyST, together with Elitism and Tournament operators, provided the best results; however, it proved more suitable for concurrent programs of higher complexity.  相似文献   

19.
    
Previous research using genetic algorithms to automate the generation of data for path testing has utilized several different fitness functions, assessing their usefulness by comparing them to random generation. This paper describes two sets of experiments that assess the performance of several fitness functions, relative to one another and to random generation. The results demonstrate that some fitness functions provide better results than others, generating fewer test cases to exercise a given program path. In these studies, the branch predicate and inverse path probability approaches were the best performers, suggesting that a two‐step process combining these two methods may be the most efficient and effective approach to path testing. Copyright © 2005 John Wiley & Sons, Ltd.  相似文献   

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

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