首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 562 毫秒
1.
面向路径的测试数据自动生成工具的设计与实现   总被引:1,自引:0,他引:1  
面向路径的测试数据生成问题是软件测试中的一个基本问题。Gupta等提出一种线性化谓词函数的迭代松驰方法求解该问题。文献[2]改进了该方法,证明改进后的方法与原方法生成的约束系统相同,文章以改进后的方法为核心算法,根据软件工程的思想,采用面向对象的方法,使用UML进行设计,并且在Linux Red Hat7.0操作系统下用C++语言言实现一个为程序路径自动生成测试数据的原型工具,然后将它移植到Windows操作系统。  相似文献   

2.
基于谓词切片的字符串测试数据自动生成   总被引:3,自引:0,他引:3  
字符串谓词使用相当普遍,如何实现字符串测试数据的自动生成是一个有待解决的问题,针对字符串谓词,讨论了路径Path上给定谓词的谓词切片的动态生成算法,以及基于谓词切片的字符串测试数据自动生成方法,并给出了字符串间距离的定义,利用程序DUC(Definithon-Use-Control)表达式,构造谓词的谓词切片,对任意的输入,通过执行谓词切片,获取谓词中变量的当前值,进而对谓词中变量的每一字符进行分支函数极小化,动态生成给定字符串谓词边界的ON-OFF测试点,实验表明,该方法是行之有效的。  相似文献   

3.
冯玉才  余艳  周淳 《计算机工程》2004,30(12):68-70
研究了Gupta方法中的关键步骤——谓词函数的线性约束系统的建立,指出用Gupta方法建立的线性约束系统本身可能存在不相容、无法找到测试数据的问题;提出了一种算法来解决这一问题,提高了软件测试数据自动生成的有效性。  相似文献   

4.
面向方面程序设计是面向对象程序设计技术的补充和完善,高效的面向方面程序测试方法是面向方面程序的质量保证.提出一个基于谓词动态切片技术的测试方法.首先,构造完整的AOP语句控制流图,它包含AOP的方面、切入点、连接点、建议等因素.然后,根据完整的AOP语句控制流图生成所有路径,针对每条路径,构造其分支函数,计算得到相应的测试数据,若路径不可执行,则不再计算其测试数据.在这个过程中,通过构建简化动态依赖图来生成谓词动态切片,再用谓词动态切片来帮助调整测试数据.最后,将各路径的实际输出数据与期望输出数据相比较,即可判断该程序是否有错误.经实例分析和实验验证,此方法可以系统地测试一个完整的面向方面程序,提高了测试数据的生成效率,并产生有效的测试用例.  相似文献   

5.
针对测试路径覆盖的可行性问题,给出了一种新的面向路径测试覆盖准则的测试数据自动生成工具。并对Length_N路径覆盖准则进行了定义,运用该准则对被测程序进行静态分析,得到完整路径表(CFG_PT),结合程序插装技术和遗传模拟退火算法自动生成测试数据。实验表明,该工具在实际应用中有较好的效果。  相似文献   

6.
基于选择性冗余思想,提出了一种测试数据自动生成算法.算法首先利用分支函数线性逼近和极小化方法,找出程序中所有可行路径,同时对部分可行路径自动生成适合的初始测试数据集;当利用分支函数线性逼近和极小化方法无法得到正确的测试数据时,基于使得测试数据集最小的原理和选择性冗余思想,针对未被初始测试数据集覆盖的谓词和子路径进行测试数据的增补.由于新算法结合谓词切片和DUC表达式,可以从源端判断子路径是否可行,因此能有效地降低不可行路径对算法性能的影响.算法分析和实验结果表明,该算法有效地减少了测试数据数量,提高了测试性能.  相似文献   

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

8.
一种基于路径的测试数据自动生成算法   总被引:3,自引:0,他引:3  
陈继锋  朱利  沈钧毅  陈玲 《控制与决策》2005,20(9):1065-1068
提出了一种新的基于路径测试数据自动生成的算法,该算法将路径中的线性谓词函数直接作为线性算术表示来构造谓词函数关于输入变量的线性约束,仅当谓词函数是输入变量的非线性函数时,才计算其线性算术表示,因而不必计算所有谓词函数的线性算术表示,也不必计算谓词片和确定输入依赖集,以及构造谓词函数关于输入变量的增量的线性约束,理论分析和实例证明,该算法具有简单、容易、有效且计算量小等特点。  相似文献   

9.
软件测试是保证软件可靠性的一个重要手段.面向路径测试是软件测试中一种重要方法.提出了一种分支函数线性逼近的测试数据自动生成算法.结合赵瑞莲给出的谓词切片算法和程序DUC表达方式以及本文提出的算法,给出了一个基于程序执行的路径测试及测试数据自动生成新算法.由于算法采用DUC表达式,不仅可以从源端判断子路径是否可行,而且有效地降低了不可行路径对算法性能的影响.另外,与现有文献中单纯利用分支函数极小化方法的算法相比,新算法由于有机结合了分支函数线性逼近和极小化方法的长处,因此减少了测试用例的数量,提高了测试效率.  相似文献   

10.
陈继锋 《计算机科学》2008,35(7):274-276
提出了一种新的带数组和循环的路径测试数据自动生成的方法.该方法只考虑数组中与路径中谓词函数有关的数组元素,将循环中的同一变量名在每一次执行时用不同的变量参数来替代,从而较好地解决了路径中数组循环有效处理的问题.为有效、简单地自动生成测试数据,建立了谓词函数关于输入变量的线性约束系统.当谓词函数为线性表达式时,不需要计算其线性算术表示,仅计算非线性函数谓词函数的线性算术表示,且不需计算路径中的谓词片和确定输入依赖集,以及构造谓词函数关于输入变量增量的线性约束系统.理论分析和实例验证该方法具有简单、直观、有效且计算量小等特点.  相似文献   

11.
使用ACT进行WEB应用程序测试   总被引:2,自引:0,他引:2  
网站的瞬间访问量变化很大,有时甚至是在不同数量级之间变化,因此对网站进行压力测试尤为重要,否则很难发现网站在可靠性和性能上潜在的问题,本文介绍了压力测试的基本概念及原理,并以微软最新的针对ASP和ASP.NET的压力测试工具ACT为例,通过创建针对计算中心的网络教学平台的测试实例介绍其对WEB应用程序进行压力测试的一般方法。  相似文献   

12.
介绍了软件测试的必要性和目的,阐述了软件测试的静态测试、动态测试和黑、白盒测试法,以及软件测试的一般过程和步骤,及软件测试的几个原则。  相似文献   

13.
软件安全性测试方法与工具   总被引:1,自引:0,他引:1  
软件的应用越来越广泛,规模和复杂度不断提高,软件中的安全缺陷与漏洞也在不断增多,软件安全性问题日益突出.软件安全性测试是保证软件安全性、降低软件安全风险的重要手段.论述了软件安全性测试的特点、内容,重点研究了国内外软件安全性测试的主要方法与工具,分析了各种方法的优缺点与适用范围,提出了一种安全性测试工具的分类方法,总结了当前研究工作并指出了未来软件安全性测试技术的研究重点与发展方向.  相似文献   

14.
介绍了软件测试的必要性和目的,阐述了软件测试的静态测试、动态测试和黑、白盒测试法,以及软件测试的一般过程和步骤,及软件测试的几个原则。  相似文献   

15.
论述了构件软件测试中的相关问题,重点讨论了构件软件的缺陷分析,构件软件的测试策略,测试充分性标准,构件测试中存在问题和挑战以及可能的解决方案探讨等。通过研究,体会到构件技术给软件开发带来人们所期望的好处的同时,也带来了新的问题和挑战,人们对构件技术的运用,特别是对构件软件测试制品的运用,应该更加谨慎。  相似文献   

16.
林炜 《信息网络安全》2012,(7):58-60,73
软件测试是保证软件质量的重要步骤,在软件工程中占有重要的位置。文章分析了脚本测试和探索性测试两种测试方法,分别从定义、特点和使用场合进行研究,找出两种测试方法的不同点,然后通过实际的软件开发经验提出自己对测试方法的意见。  相似文献   

17.
User-input-validation (UIV) is the first barricade that protects web applications from application-level attacks. Most UIV test tools cannot detect semantics-related vulnerabilities in validators, such as filling a five-digit number to a field that accepts a year. To address this issue, we propose a new approach to generate test inputs for UIV based on the analysis of client-side information. In particular, we use input-field information to generate valid inputs, and then perturb valid inputs to generate invalid test inputs. We conducted an empirical study to evaluate our approach. The empirical result shows that, in comparison to existing vulnerability scanners, our approach is more effective than existing vulnerability scanners in finding semantics-related vulnerabilities of UIV for web applications.  相似文献   

18.
Specification-based (or functional) testing enables us to detect errors in the implementation of functions defined in specifications, but since specifications are often incomplete in practice for some reasons (e.g., lack of ideas, no time to write), it is unlikely to be sufficient for testing all parts of corresponding programs. On the other hand, implementation-based (or structural) testing focuses on the examination of program structures, which allows us to test all parts of the programs, but may not be effective to show whether the programs properly implement the corresponding specifications. To perform a comprehensive testing of a program in practice, it is important to adopt both specification-based and implementation-based testing. In this paper we describe a relation-based test method that combines the specification-based and the implementation-based testing approaches. We establish a set of relations for test case generation, illustrate how the method is used with an example, and investigate the effectiveness and weakness of the method through an experiment on testing a software tool system.  相似文献   

19.
软件安全性测试是保证软件安全性的重要手段。本文论述了软件安全性测试的特点和主要内容,重点研究了国内外软件安全性测试的主要方法,最后总结了当前研究工作并指出了未来软件安全性测试技术的研究重点与发展方向。  相似文献   

20.
This paper presents two strategies for multi‐way testing (i.e. t‐way testing with t>2). The first strategy generalizes an existing strategy, called in‐parameter‐order, from pairwise testing to multi‐way testing. This strategy requires all multi‐way combinations to be explicitly enumerated. When the number of multi‐way combinations is large, however, explicit enumeration can be prohibitive in terms of both the space for storing these combinations and the time needed to enumerate them. To alleviate this problem, the second strategy combines the first strategy with a recursive construction procedure to reduce the number of multi‐way combinations that have to be enumerated. Both strategies are deterministic, i.e. they always produce the same test set for the same system configuration. This paper reports a multi‐way testing tool called FireEye, and provides an analytic and experimental evaluation of the two strategies. Copyright © 2007 John Wiley & Sons, Ltd.  相似文献   

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

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