首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 625 毫秒
1.
并发程序由多个共享存储空间并发执行的流程组成.由于流程之间执行次序的不确定性,使得并发软件系统的测试比较困难.变异测试是一种基于故障的软件测试技术,广泛用于评估测试用例集的充分性和测试技术的有效性.将变异测试应用于并发程序的一个关键问题是,如何高效地生成大量的模拟并发故障的变异体集合.给出了一种并发程序的变异测试框架,...  相似文献   

2.
李静  王文成 《软件学报》2022,33(9):3485-3497
软件测试是一种广泛使用的软件质量保证手段. 变异测试是一种基于故障的软件测试方法, 广泛用于评估测试用例集的充分性与软件测试技术的有效性. 数量庞大的变异体导致变异测试的成本非常高. 提出一种数据流分析指导的变异体精简方法(DFSampling), 设计了启发式规则, 基于这些规则对随机选择技术与基于路径感知的变异体精简技术(PAMR)进行了改进. 采用经验研究的方式评估了DFSampling的有效性, 比较了DFSampling与随机选择技术、PAMR技术的有效性, 实验结果表明DFSampling是一种有效的变异体精简策略, 提高了变异测试的效率.  相似文献   

3.
结合故障定位技术, 提出了一种基于变异的程序故障自动化修复方法, 并采用该方法阐释了C程序表达式故障的变异修复机制, 研制了C程序故障自动化修复辅助工具。通过对实际故障系统案例的分析, 证明了方法的有效性。  相似文献   

4.
变异测试是一种有效的软件测试技术,通过生成变异体来模拟软件缺陷,帮助提升现有测试套件的缺陷检测能力.变异体的质量对于变异测试的有效性具有显著影响.传统的变异测试方法通常采用人工设计的基于语法规则的变异算子生成变异体,并已取得一定的研究成果.近年来,许多研究开始结合深度学习技术,通过学习开源项目历史代码生成变异体.目前该新方法在变异体生成方面取得了初步的成果.基于语法规则和基于学习的两种变异技术,其机理不同,但其目标均是通过生成变异体来提高测试套件的缺陷检测能力,因此全面比较这两种变异技术对于变异测试及其下游任务(如缺陷定位和修复)至关重要.针对这一问题,本文设计实现一项针对基于语法规则和基于学习的变异技术的实证研究,旨在了解不同机理的变异技术在变异测试任务上的性能,以及生成的变异体在程序语义上的差异性.具体地,本文以Defect4J v1.2.0数据集为实验对象,比较MAJOR和PIT为代表的基于语法规则的变异技术和以DeepMutation、μBERT和LEAM为代表的基于深度学习的变异技术.实验结果表明,基于规则与学习的变异技术均可有效支持变异测试实践,但MAJOR的测试效果最优,能够检测85.4%的真实缺陷.在语义表示上,MAJOR具有最强的语义代表能力,基于其构造的测试套件能够杀死其余变异技术生成的超过95%占比的变异体.在缺陷表征上,两类技术均具有独特性.例如,基于规则的技术具有更稳定的代码元素变异能力,而基于学习的技术具有更强的上下文理解能力.  相似文献   

5.
软件测试是现阶段保障软件质量的重要手段,开发一种客观地有针对性地添加测试数据的工具是十分必要的。变异测试是一种有效的基于故障的测试技术,它排错能力强,既可以用来揭示软件中隐藏的错误,又可以衡量测试用例集对程序错误的揭示能力,评估测试的充分性,是一种有效的测试方法。我们使用变异测试的原理开发一个Java程序的变异测试工具。  相似文献   

6.
高传平  宫云战  王璇 《计算机应用》2005,25(Z1):377-378
讨论了传统软件测试方法的缺点和局限性,进而提出了代码自动检测的方法,给出了此类方法可检测到的故障类型.对程序静态分析技术和方法进行了研究,依据该方法设计与开发了软件测试系统.最后给出了实验结果和对比分析.  相似文献   

7.
程勇  秦丹  杨光 《计算机应用》2017,37(4):1143-1148
针对JavaScript浏览器兼容性问题缺乏有效的测试方法的问题,基于变异测试技术,对Web应用程序中的JavaScript语言在主流浏览器中的兼容性进行了分析,设计了18个针对浏览器兼容性错误的变异算子并开发了自动化的测试工具Compatibility Mutator。该程序使用抽象语法树(AST)分析JavaScript语法,使用Selenium WebDriver自动调用多个浏览器核心并行执行变异测试。通过对7个广泛使用的JavaScript框架的实验,验证了此方法对每一个框架都能够生成一定数量的变异体,其中对jQuery和YUI框架的变异测试的变异得分分别为43.06%和7.69%,表明了所设计的变异算子能够触发浏览器兼容性方面的错误,并且能够评估测试用例集的完备性。  相似文献   

8.
杨红  洪玫  屈媛媛 《计算机科学》2018,45(Z11):488-493
为了进行基于模型的软件测试变异分析,文中提出了一种基于模型检测的变异测试用例生成方法。基于模型检测工具UPPAAL的形式化分析与测试框架,首先用符合规范的时间自动机模型描述被测系统;然后基于时间自动机模型的基本结构和语法,对系统模型进行一组变异操作,并模拟实现时可能出现的一些错误;对变异后的模型分别使用UPPAAL Yggdrasil工具,生成一组能覆盖变异区域的测试用例;在系统变异模型上执行生成的测试用例,根据测试执行结果(是否能“杀死”变异体)筛选出一组有效的测试用例。通过实例验证,所提方案生成的测试用例是有效的,且测试用例集变异分数优于现有的基于状态机复制的变异测试用例自动生成方法和基于模型中变换覆盖的变异测试用例生成方法。  相似文献   

9.
针对节点计算能力相同但故障分布不同的集群系统的性能分析问题,基于k-to-l-out-of-n结构对集群系统的性能进行建模,并提出了一种基于二元决策图(BDD)的分析方法。针对k-to-l-out-of-n结构的BDD模型生成问题,分析了BDD的结构特征并设计自顶向下生成算法,克服了传统的自底向上生成算法必须生成大量中间冗余节点的缺陷;然后利用生成的BDD模型高效地计算出系统处于一个特定性能级别的概率;最后通过实例说明了BDD方法能够有效分析节点具有不同故障分布的集群系统性能。  相似文献   

10.
张功杰  巩敦卫  姚香娟 《软件学报》2015,26(10):2504-2520
为数众多的变异体产生的高昂测试代价严重影响了变异测试技术在实际程序中的应用.为了大幅度减少弱变异测试中变异体的数量,提出基于统计占优分析的变异体约简方法.该方法首先利用变异前后的语句构造变异分支,并将所有变异分支集成到原程序中,形成新的被测程序;然后,通过统计测试用例对各个变异分支的覆盖信息,确定变异分支之间的占优关系;最后得到非被占优分支集,其对应的变异体就是约简后的变异体.将该方法用于8个程序的测试,结果表明:该方法能够约简平均90%的变异体,从而显著提高了变异测试的效率.  相似文献   

11.
为了获取更加全面的程序失效数据以提高软件可靠性评估的准确性,提出一种面向软件可靠性评估的故障注入机制.该机制在生成故障注入方案时充分考虑了程序故障类型分布、故障空间分布、故障发生时间分布及程序输入等因素,从而能够合理地反映程序真实的失效情况.实现了故障注入方案生成器,并集成到自行开发的基于Intel PIN框架的动态软件故障注入工具软件中.为了验证所提出的故障注入机制的合理性和有效性,以TINY语言编译器、LZ77压缩程序、CRC32程序为例,分别通过测试和故障注入实验的方式收集了相应的失效数据,然后用Jelinski-Moranda模型计算得到了2组很接近的可靠性指标值.实验结果表明,基于故障注入的软件可靠性评估方法的有效性和合理性不亚于传统的基于测试的方法,故障注入方法更适用于较大规模程序的可靠性评估,采用指数分布的故障发生时间分布假设更能反映程序真实失效情况.  相似文献   

12.
软件测试是软件工程中保证软件产品质量的重要组成部分.变异测试是一种衡量测试用例集完备性的测试策略,也被用于生成完备的测试用例集.为了提出一种基于代数式规范的新的变异测试方法,为此设计了12类针对代数式规范的变异操作符,对5个代数式规范进行了实验,并进行了结果分析.结果表明基于代数式规范的变异测试方法相比基于代码的传统变异测试方法,生成更少的变异体,也大幅度提升了变异测试的效率.  相似文献   

13.
基于依赖性分析的UML状态图切片技术   总被引:1,自引:0,他引:1       下载免费PDF全文
将UML状态图、程序切片和软件测试技术三者结合起来,生成基于依赖性分析的UML状态图切片,为软件测试中待测试的程序的理解、发现和修改错误提供了一种方法。最后运用实例讨论了该切片方法的实用性,应用于回归测试中具有较高的效率。  相似文献   

14.
党向盈  李金凤 《软件工程》2022,(12):59-62+49
针对复杂软件中测试用例难生成问题,提出一种融入聚类和进化算法的软件缺陷测试方法,开发一套智能软件测试系统。首先,对被测程序采用变异测试方法注入缺陷;基于不同策略对缺陷聚类。然后,针对多个缺陷簇,建立测试用例生成问题的优化模型,并采用进化算法生成能检测缺陷的测试用例。最后,基于不同评价指标,完成软件测试报告。测试结果表明,基于测试用例检测缺陷的成功率、缺陷率,以及消耗时间和迭代次数等指标,验证了所提方法提高了检测缺陷检测率、降低了测试的时间及提高了测试用例生成的效率。由此可见,人工智能融于软件测试技术,不仅提升了软件测试效率,而且丰富人工智能应用领域。  相似文献   

15.
基于MDA的软件测试用例生成   总被引:2,自引:0,他引:2       下载免费PDF全文
将MDA中模型驱动的软件代码自动化生成思想应用于模型驱动的软件测试用例自动化生成。从UML/OCL模型出发,采用缺陷测试理论、变异分析技术,结合约束处理规则,开发一个可以自动生成单元测试用例的框架,提高软件测试的自动化程度,从整体上提高软件的开发效率。  相似文献   

16.
针对检测缺陷的测试数据生成效率低下问题,提出变异测试和路径覆盖测试技术结合的测试数据生成方法。首先,采用变异测试技术生成的变异分支融入程序,生成新的被测程序;然后,在原路径集中挑选目标路径,通过分析变异分支与路径关联关系,将变异分支融入路径。最后,基于遗传算法生成覆盖路径的测试数据。实验结果表明,多种群遗传算法生成测试数据的时间,比单种群遗传算法节约了41.15%。由此可见,对于覆盖多路径测试数据生成,多种群遗传算法的效率比单种群遗传算法高。  相似文献   

17.
一种Web服务的测试数据自动生成方法   总被引:31,自引:1,他引:31  
软件测试是保证Web服务质量的重要技术手段.测试数据生成是Web服务测试的重要内容.测试数据的质量将直接影响Web服务测试的效率和成本.文章基于合约式设计的 Web服务测试技术,提出一种 Web服务的测试数据自动生成方法.首先根据WSDL文档采用随机法自动生成初始测试数据,然后使用合约变异技术进行测试数据的选择,据此可以生成一组达到一定合约变异充分度的有效测试数据,从而提高 Web服务的测试质量和效率.最后实现了一个Web服务的测试数据自动生成工具原型,并通过实验验证了方法的有效性.  相似文献   

18.
多目标进化算法的研究目标是使算法快速收敛,并且广泛而均匀分布于问题的非劣最优域。在NSGA-Ⅱ算法的基础上,提出了一种新的变异算子。该算子具有良好的局部搜索能力,提高了算法的效率。改进后的算法与原算法相比较,结果表明新算法较好地改善了分布性和收敛性。  相似文献   

19.
测试用例优化是软件测试领域的研究热点之一,已有优化算法的评估多以代码覆盖为基础,这并不能完全反应程序的错误状况,高代码覆盖率的测试用例并不一定具有高的揭错能力.本文结合变异测试,从新的角度-———错误覆盖出发,对两种贪心算法、一种启发式算法、及遗传算法的优化效果进行了评估,实验结果表明额外贪心算法优于其它三种算法.该评估结果的置信度更高,为此类算法的评估提供了新的研究思路.  相似文献   

20.
由于传统形式化语言的复杂性以及当前变异分析系统性能问题,基于规格的变异分析一直没有得到广泛的应用.介绍辅助UML建模的对象约束语言(OCL)和基于规格变异分析的基本理论.提出一种新型的OCL规格变异系统的设计方案,并详细描述了一些变异算子的具体实现.解决了传统变异系统的性能缺陷,提高了变异分析的实用性.  相似文献   

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

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