共查询到19条相似文献,搜索用时 46 毫秒
1.
Gupta方法的改进 总被引:2,自引:0,他引:2
Gupta等提出一种线性化谓词函数的方法(简称Gupta方法),为指定程序路径自动生成测试数据。该文给出了一种模型语言,研究静态,动态数据依赖关系的性质以及Gupta方法中各概念的形式化定义,将Gupta等提出的谓词出推广为路径静态切片,证明了路径静态切片构造算法的正确性,对Gupta方法的改进,省略了构造谓词片和输入依赖集的过程,改进后的方法构造线性约束的效率更高,以改进后的方法为核心算法,开发了面向路径的测试数据自动生成的原型工具,并用实际的程序路径对该工具进行实际,结果表明改进后的方法是比较有效的。 相似文献
2.
遗传算法及其在软件测试数据生成中的应用研究 总被引:8,自引:1,他引:8
文中首先给出了遗传算法的形式化的表示和一个基于此算法的测试数据生成系统原型。然后结合一个典型的测试单元例程,介绍系统实现中必须解决的参数选取、参数编码、评价函数的构造及驱动模块自动生成等关键问题。最后,介绍了一个实用的Ada软件测试数据生成工具——TCAG。 相似文献
3.
将遗传算法应用于覆盖指定路径的测试数据生成已得到了广泛的研究.具体实现中,影响测试数据生成效率的因素很多,如先验知识,GA参数,路径复杂度等.本文在简要介绍应用GA生成测试数据的关键技术后,设计实验分析了影响测试数据生成的部分因素,并据此得出了一些结论. 相似文献
4.
5.
6.
本文在研究软件测试数据自动生成技术的基础上,为决解空间爆炸的问题提出了将一种新兴的智能算法—菌群算法应用到软件测试数据的自动生成当中。但为了能准确并快速的生成测试数据还对算法进行了改进,然后在用随机法随机生成的测试数据覆盖被测程序大部分路径的基础上,运用改进后的菌群算法对剩余指定路径进行覆盖从而达到路径全覆盖的效果,实现测试数据自动生成系统。最后用一个简单实验验证了该系统的有效性。 相似文献
7.
8.
测试数据生成是软件测试的核心与关键,本文介绍了迭代松弛法以及对迭代松弛法进行改进,改进后的方法比原方法生成测试数据的能力更强,不仅能够用于白盒测试数据的自动生成,还能够用于黑盒测试数据的自动生成。在此基础上提出一个面向路径的测试数据生成框架。并讨论该框架在单元测试、组装测试中的应用。 相似文献
9.
10.
软件测试数据自动生成是软件测试中的重要难题之一。测试数据自动生成问题可归结为测试数据的搜索或组合优化问题,通常具有不连续、不可微和非线性等特征,适合于采用遗传算法、神经网络等人工智能技术进行解决。国内外学者在此方面作了不少研究并取得一定的成果,但也存在一些问题。该文系统地综述了近年来软件测试数据智能化生成的研究和存在的问题,并对未来的发展进行了展望。 相似文献
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.
13.
数据流覆盖可有效地检测软件中的缺陷与错误.针对该覆盖准则中存在的插装监测开销庞大和测试数据生成效率不高的问题,提出一种新的基于定值-引用对覆盖的测试数据进化生成方法.该方法主要分为两部分,首先,通过约减测试目标来减少插装开销,提出的包含关系算法可找到一个定值—引用对子集,使得覆盖该子集就能保证所有测试目标被覆盖;然后,采用遗传算法为所有测试目标生成测试数据,设计的适应度函数综合考虑个体实际执行的路径与每个测试目标的定义明确路径的匹配程度.将该方法用于8个基准程序的测试数据生成,并与其他方法比较,结果显示其可有效提高程序覆盖率和测试数据生成效率. 相似文献
14.
作为衡量测试用例集完备性的测试策略,变异测试是一种“面向缺陷”的单元测试技术,主要用来生成完备的测试用例集.其中面向路径测试数据生成技术通过约束系统构造和求解过程实现用例集生成,是一种高效的测试用例生成技术.但目前大部分面向路径测试用例生成技术只考虑了程序语句间的控制依赖,即通过对控制流图的分析来构建约束系统,而忽略了语句间的数据依赖对约束系统的影响.充分考虑两种依赖关系,针对域削减的测试数据生成技术进行了改进,提出了一种考虑数据依赖的域削减方法.实验表明,这种方法在变异测试数据生成的成功率和执行效率上都有较大程度的提高. 相似文献
15.
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.
Gordon Fraser Franz Wotawa Paul E. Ammann 《Software Testing, Verification and Reliability》2009,19(3):215-261
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.
Ricardo Ferreira Vilela João Choma Neto Victor Hugo Santiago Costa Pinto Paulo Sérgio Lopes de Souza Simone do Rocio Senger de Souza 《Concurrency and Computation》2023,35(2):e7489
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. 相似文献