首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 453 毫秒
1.
不变量指导的随机测试用例生成   总被引:1,自引:0,他引:1  
随机测试以其自动化程度高、揭错能力强的优势一直在测试用例的自动化生成领域占据着重要的地位,但其冗余度高、覆盖率低的缺陷限制了它的应用.程序不变量是程序的某个或某些特定的点上保持为真的属性,它可以提供程序运行时的有价值的信息.提出一种不变量指导下的随机测试用例的自动化生成方法.这种方法通过提取程序运行时的动态不变量,指导随机测试用例的生成,并且利用随机生成的无效用例的反馈信息,约简冗余的随机用例空间,增大了选中有效用例的概率.实验结果表明,该方法在保持随机测试的高揭错能力的前提下,可以有效的降低随机测试的冗余度,提高其覆盖率.  相似文献   

2.
程序似然不变量是程序中隐含的属性,可以应用于程序验证、软件测试技术、逆向工程等领域.针对自动化测试工具C++Test产生的测试用例集,利用程序不变量分析工具Daikon判断这些测试用例是否改变了当前的不变量;并将两种工具结合生产一种自动化测试用例集约简工具CDRT(C++Test And Daikon Reduction Testing),从而达到约简测试用例集的效果,再通过变异测试工具INSURE++对简化后的测试用例集进行评估.实验结果表明,CDRT工具能有效地约简测试用例集.  相似文献   

3.
程序不变量可以揭示程序的内部属性和动态执行情况,已经成功应用于软件测试用例的生成与约简.然而,每新增一个用例都要在整个测试用例集合上重新提取程序不变量,时间开销较大.提出一种基于正则表达式的将程序不变量自动转换为对应断言的方法,并利用断言判断新用例是否冗余,仅当新用例非冗余时才提取程序不变量,从而大幅度减小时间开销.将这种基于断言的测试方法应用于回归测试,可以有效约简测试用例集合,识别程序改动所影响的元素,进而发现潜在的程序错误.实验结果表明,与其它测试用例选择方法相比,该方法时间消耗小、测试用例集合约简率高、揭错能力强.  相似文献   

4.
传统的测试用例集约简技术大多采用由测试需求集直接生成测试用例集的方法.该方法虽然能够约简测试用例集,但出现测试需求冗余,约简后的测试用例集不够精准等问题.针对这些问题,提出了一种基于六元结构表的程序切片方法.利用程序切片精简测试代码,省去构造程序依赖图的复杂步骤;根据代码间的相互关系和模块间的耦合度,利用启发式算法约简测试需求;在约简后的测试需求上,精简测试用例集.将该方法应用到当前主流的Android平台上比较约简前后G,GRE的用例集.实验结果表明:约简后的测试需求集能够在获得较少的测试用例集的前提下保证较高的覆盖率.  相似文献   

5.
一种基于测试需求约简的测试用例集优化方法   总被引:17,自引:1,他引:17  
测试用例集优化的目标是用尽可能少的测试用例充分满足给定的测试目标.针对给定的测试目标,获得精简的测试需求集有助于提高测试用例集优化的效率和效果.从测试需求约简的角度考虑测试用例集优化,首先给出可以精确描述测试需求间相互关系的测试需求约简模型;基于此模型,提出一种测试需求约简方法,可以获得精简测试需求集,作为测试用例集生成和约简的基础,从而实现测试用例集优化.实验结果表明,测试需求约简有助于获得规模较小的测试用例集,实现系统、科学、有效的测试.  相似文献   

6.
针对测试用例约简问题,定义了一种不会改变测试需求与测试用例覆盖关系的布尔运算。应用此运算,辅以不同的测试需求、用例集优先策略,经矩阵的列变换得到精简的测试需求集,然后使用行变换对测试用例集进行约简。该方法不受测试用例输入顺序的影响。实验表明,与一些常用的约简算法相比,提出的算法在有序树生成程序测试用例约简的几个实例上都能得到较优的用例集。  相似文献   

7.
牛伟纳  丁雪峰  刘智  张小松 《计算机科学》2013,40(10):119-121,138
软件漏洞是安全问题的根源之一,fuzzing(模糊测试)是目前漏洞发现的关键技术,但是它通过随机改变输入无法有效地构造出测试用例,也无法消除测试用例的冗余性.为了克服传统fuzzing测试的缺点、有效生成测试输入且无需分析输入格式,针对二进制程序设计并实现了基于符号执行的漏洞发现系统SEVE.将程序的输入符号化,利用动态插桩工具建立符号变量的传播关系;在分支语句处收集路径约束条件,最后用解析器求解之并将其作为新的测试用例.用mp3和pdf软件进行了实验,结果表明,该系统有效地提高了漏洞发现的效率与自动化程度.  相似文献   

8.
软件回归测试中的自动测试生成方法   总被引:1,自引:0,他引:1  
软件回归测试一般使用现有的测试用例集进行测试,如何有效利用这些用例成为回归测试的关键。研究自动对现有测试用例集的扩展,包括自动改变测试用例的执行顺序、自动进行测试用例数目的增减等,提出基于现有测试用例随机生成新的测试用例集的方法。实验证明,该方法生成的测试文件能在原有环境下成功执行,能实现自动测试范围的扩大或缩小,以及测试时间的增加或减少,为软件回归测试提供了有用的自动化工具。  相似文献   

9.
王曙燕  陈朋媛  孙家泽 《计算机应用》2017,37(12):3592-3596
针对回归测试过程中由于测试需求的变更导致测试用例规模不断扩大、测试成本不断增加的问题,提出一种基于变异分析的测试用例约简方法(RTM)。首先,以测试用例能否检测到指定变异体为依据,对测试用例进行划分并创建二进制数值形式的变异体事务集矩阵;然后,应用改进的关联挖掘算法获取测试用例间的关联关系;最后,根据这些关联关系有效约简测试用例。6个经典程序仿真实验结果表明,RTM能够使约简后的测试用例约简率达到37%,与传统贪心算法和启发式算法相比,测试用例约简率提高了6%,且在提高测试用例约简率的同时,保证了测试覆盖率,单个测试用例的测试覆盖率平均提高了11%。所提方法能够利用尽可能少的测试用例满足更多的测试需求,有效提高了测试效率,降低了测试成本。  相似文献   

10.
1 引言软件测试过程中,测试用例的生成是软件测试的关键。目前,测试用例的生成主要靠手工完成,因此测试效率低下,软件成本居高不下。为此,迫切需要开发一些测试用例的自动生成工具,提高软件测试效率,降低软件成本,保证软件质量,提高软件测试的自动化程度。随机测试是对软件进行操作性测试,即测试用例是从程序的输入域中随机选择,让错误自己暴露出来。在某些情况下,随机测试技术比启发式测试技术效果要好得多。所以在软件测试中占据着重要地位。但是,目前国内外对随机测试数据自动生成的研究非常不成熟,尚无一套完整的方案解决此  相似文献   

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

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

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

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

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

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

17.
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.  相似文献   

18.
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.  相似文献   

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

20.
面向对象软件测试的类测试方法有三种:基于规约说明的类测试方法、基于类流图的类测试方法、基于状态转换的类测试方法.本文描述了一个针对C 语言的基于状态的类测试工具的设计和实现,介绍了该工具的体系结构和主要算法.对测试驱动器的自动生成的方法作了详细介绍.最后通过一个实例描述了该工具的工作流程.  相似文献   

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

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