首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 0 毫秒
1.
回归测试中测试用例优先级技术研究综述   总被引:6,自引:0,他引:6  
测试用例优先级技术是一种高效实用的回归测试技术,其目的是将不同的测试用例按照其重要程度排序后使用,从而获得更高的回归测试效率。首先介绍了与测试用例优先级相关的研究背景和基本概念,然后对当前的研究工作和进展进行了全面概述,同时比较了各种优先级适用的环境和实验研究结果,最后指出了测试用例优先级中有待解决的问题以及未来的研究方向。  相似文献   

2.
回归测试中的测试用例优先排序技术述评   总被引:1,自引:4,他引:1  
陈翔  陈继红  鞠小林  顾庆 《软件学报》2013,24(8):1695-1712
测试用例优先排序(test case prioritization,简称TCP)问题是回归测试研究中的一个热点.通过设定特定排序准则,对测试用例进行排序以优化其执行次序,旨在最大化排序目标,例如最大化测试用例集的早期缺陷检测速率.TCP问题尤其适用于因测试预算不足以致不能执行完所有测试用例的测试场景.首先对TCP问题进行描述,并依次从源代码、需求和模型这3个角度出发对已有的TCP技术进行分类;然后对一类特殊的TCP问题(即测试资源感知的TCP问题)的已有研究成果进行总结;随后依次总结实证研究中常用的评测指标、评测数据集和缺陷类型对实证研究结论的影响;接着依次介绍TCP技术在一些特定测试领域中的应用,包括组合测试、事件驱动型应用测试、Web服务测试和缺陷定位等;最后对下一步工作进行展望.  相似文献   

3.
基于测试用例设计信息的回归测试优先级算法   总被引:7,自引:0,他引:7  
优先级技术是一种高效实用的回归测试技术.文中针对现有优先级技术未能有效使用测试用例设计信息的不足,提出了一组新的回归测试优先级动态调整算法.与已有方法相比,新算法充分考虑了测试用例的设计信息,能够通过及时捕捉和利用测试执行信息对测试用例优先级进行动态调整,具有时间复杂度低、检错效率高等优点.将其应用于Windows平台下应用软件的回归测试结果表明,新算法有益于在短时间内检测出更多的错误.  相似文献   

4.
为了提高回归测试用例集的测试效率和有效性,提出由需求得到回归测试用例排序技术及其实现算法。由需求得到回归测试用例排序技术,将与软件需求相关的需求描述度、需求实现复杂度、需求稳定度和需求覆盖度等因素应用于测试用例排序,以缺陷检测加权平均百分比作为度量标准。通过实验,比较排序后用例和未排序用例缺陷检测情况,实验结果表明该技术排序后的回归测试用例集,能够尽早地发现更多的软件错误,有效提高回归测试效率,保证软件质量。  相似文献   

5.
回归测试是一个成本很高的测试过程。为了减少回归测试的成本,可以使用测试用例排序技术。测试用例排序是指按照事先确定的目标重新安排测试用例集中测试用例的执行次序,使得具有高优先级的测试用例比低优先级的测试用例在测试过程中更早执行。本文描述了测试用例排序问题;给出了两个一般测试用例排序算法,即总计排序算法和 附加排序算法;根据不同的覆盖准则(如语句、分支和定义-使用等),可以从这两个一般算法得到对应的排序算法;最后,讨论了测试用例排序算法的有效性。  相似文献   

6.
测试用例优先化技术有利于提高测试的质量和效率。文章提出了一种在系统测试阶段基于需求的测试用例优先化方法TRP,并通过实验结果加以验证。与随机方法对测试用例排序的测试相比,TRP方法能尽早发现软件严重缺陷并提高缺陷检测率。  相似文献   

7.
测试用例排序技术通过对测试用例进行排序以提高回归测试的效率.针对现有方法未能充分利用软件结构信息的不足,提出了基于错误传播网络的测试用例排序方法.该方法在类粒度将软件抽象成加权类依赖网络(weighted class dependency network,WCDN)模型,并基于WCDN分析错误在网络上的传播行为,构造错误传播网络(bug propagation network,BPN).测试用例排序时,首先在BPN中定位变更类和可能受变更类波及的类,从而计算类的测试重要性,最后以测试用例覆盖类的测试重要性总和作为最终的排序依据.实例研究表明,基于错误传播网络的测试用例排序方法在错误检出率上相比于其他经典方法有一定的提高,并且具有较好的稳定性.  相似文献   

8.
测试用例预优化是一种先进的软件回归测试用例集优化技术。相比测试用例选择和测试用例集约简技术,它具有更好的灵活性,更容易适应实际软件回归测试过程中的迭代与变化。基于多目标的测试用例预优化技术是当前研究的热点,针对选定的多个优化目标,算法是多目标测试用例集优化的关键。提出了一种基于蚁群优化算法(ant colony optimization,ACO)的多目标测试用例预优化方法,针对平均语句覆盖率和有效执行时间两个优化目标,实现了测试用例集的预优化,并针对多目标解集优劣评价方法进行了改进。同时对蚁群优化算法中的信息素挥发因子ρ、启发因子α和β、蚁群规模m等相关参数对多目标测试用例预优化结果的影响进行了实验分析。实验中使用的被测程序既包括广泛使用的软件测试样本库SIR(software-artifact infrastructure repository)中的程序,也包括Google发布的大规模开源程序JavaScript引擎V8。实验结果表明,当参数α=1,4β6,ρ=0.1时,针对小规模程序,蚁群规模m=32时,算法求得较优解;针对较大规模程序flex和V8,则需要适当增大蚁群的规模以获得较优解集。  相似文献   

9.
如何选取组合力度用于测试是可变力度组合测试用例优先级排序方法中迫于解决的关键问题。采用组合覆盖率为排序标准能够满足组合覆盖率,但其排序因素单一,测试用例优先级排序结果差异性较大,且无法根据测试结果反馈信息及时调整组合测试用例优先级。针对上述问题,该文结合One-test-at-a-time(OTT)策略、利用局部组合覆盖率、测试用例失效率和测试用例重要程度对组合测试用例优先级排序方法进行了研究。在测试过程中,实时关注测试用例的执行结果用于在线调整测试用例排序因素的取值情况,以达到实时更新组合测试用例优先级的目的。实验结果表明:相较于Random、ICBP、GISVSP和LISVSP方法,该方法使得组合测试用例优先级排序结果相对稳定,且在缺陷检测率上具有竞争力。  相似文献   

10.
赵逸凡  郝丹 《软件学报》2023,34(6):2708-2726
在软件交付越来越强调迅速、可靠的当下,持续集成成为一项备受关注的技术.开发人员不断将工作副本集成到代码主干完成软件演化,每次集成会通过自动构建测试来验证代码更新是否引入错误.但随着软件规模的增大,测试用例集包含的测试用例越来越多,测试用例的覆盖范围、检错效果等特征也随着集成周期的延长而变化,传统的测试用例排序技术难以适用.基于强化学习的测试排序技术可以根据测试反馈动态调整排序策略,但现有的相关技术不能综合考虑测试用例集中的信息进行排序,这限制了它们的性能.提出一种新的基于强化学习的持续集成环境中测试用例排序方法——指针排序方法:方法使用测试用例的历史信息等特征作为输入,在每个集成周期中,智能体利用指针注意力机制获得对所有备选测试用例的关注程度,由此得到排序结果,并从测试执行的反馈得到策略更新的方向,在“排序-运行测试-反馈”的过程中不断调整排序策略,最终达到良好的排序性能.在5个规模较大的数据集上验证了所提方法的效果,并探究了使用的历史信息长度对方法性能的影响,方法在仅含回归测试用例的数据集上的排序效果,以及方法的执行效率.最后,得到如下结论:(1)与现有方法相比,指针排序方法能够随着软件版本的演化调整排序策略,在持续集成环境下有效地提升测试序列的检错能力.(2)指针排序方法对输入的历史信息长度有较好的鲁棒性,少量的历史信息即可使其达到最优效果.(3)指针排序方法能够很好地处理回归测试用例和新增测试用例.(4)指针排序方法的时间开销不大,结合其更好、更稳定的排序性能,可以认为指针排序方法是一个非常有竞争力的方法.  相似文献   

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

12.
基于函数调用路径的回归测试用例选择排序方法研究   总被引:1,自引:0,他引:1  
针对在回归测试过程中,因为不断修复软件中存在的缺陷所造成的测试工作量大、测试效率低等问题,论文将测试用例选择与优先级排序技术相结合,以面向函数调用的路径覆盖生成方法为基础,提出了一种面向函数调用路径(Functions Calling Path, FCP)的测试用例选择与排序方法。首先根据函数调用关系图,对程序中被修改函数与其他函数的关联性进行分析,从初始测试用例集中选择测试用例,形成回归测试用例集;然后对这些测试用例进行优先级排序,并动态地调整优先级排序结果;最后,对优先级排序结果进行再次选择,确定最小的回归测试用例集。实验结果表明,测试用例选择与排序方法对优化回归测试用例是有效的,大大减少了回归测试用例数量,降低了回归测试成本。  相似文献   

13.
石宇楠  李征  龚沛 《计算机科学》2015,42(12):124-129
测试用例优先排序是一种有效的降低回归测试开销的技术,通过对测试用例按照其重要程度排序后可获得更高的测试效率。针对传统多目标遗传算法在测试用例优化排序中存在的收敛较慢、易陷入局部最优、缺乏对不同测试准则的综合权衡等缺点,提出一种基于竞争模式的多目标协同进化算法。该方法采用平均代码覆盖率以及平均变异杀死率作为多个约束目标的测试准则来进行适应度度量,提高算法的错误检测率;使用个体绝对适应度与相对适应度对个体生存能力进行评价,衡量个体优秀程度,利用竞争性的协同进化思想加快算法收敛速度;通过剔除“老年”个体控制个体生存周期来避免陷入局部最优问题。同时,在影响算法执行效率的因素方面也进行了一系列的实验,结果表明该算法能够加快收敛速度,加强了局部搜索能力,相对于传统的优化算法来说具有更好的搜索效率和更高的错误检测率,从而验证了算法的有效性和可行性,证明了该算法具有一定的现实意义。  相似文献   

14.
张娜  姚澜  包晓安  董萌  桂宁 《软件学报》2015,26(10):2451-2464
从需求的角度对测试用例的优先级进行排序,定义了一个多目标的测试用例优化排序问题,引入关注需求覆盖率、测试用例重要度和测试用例失效率这3个测试用例优先级影响因子,分别定义权重因子α,β,γ用于权衡3个因子.设计了关注需求覆盖率和测试用例失效率的在线估计方法及算法,在此基础上,设计了一种基于多目标优化的测试用例优先级在线调整策略,该策略可利用测试过程中收集到的反馈信息,对测试用例优先级进行在线调整,实现在尽早达到测试覆盖率标准的同时,尽早覆盖重要的和具有较高失效率的测试需求,从而解决尽早检测到更多的、严重等级较高的软件缺陷这一多目标测试用例优化问题.实验结果表明:与随机测试、传统的单目标优先级排序方法和确定性排序方法相比,所提出的策略能够在更短的时间内完成同等质量的软件测试,从而提高了测试效率.  相似文献   

15.
在软件迭代开发的过程中,测试用例优先级技术因能有效地提高回归测试的效率,降低时间开销和人力成本,受到研究者的广泛关注,许多优化方法相继被提出。但是目前的研究多倾向于以需求和覆盖率作为排序准则,并且是一种静态排序。为此,提出一种基于历史信息的测试用例优先级技术,并在测试用例的执行过程中动态自适应地调整测试用例的优先级,以尽可能早地发现缺陷,达到预期的检错目标。在课题组开发的项目中运用该方法,验证了该方法的有效性。  相似文献   

16.
持续集成环境下,软件快速更新加快了回归测试执行的频率,但缺陷快速反馈的需求对回归测试又提出了更高要求.测试用例优先排序技术研究测试用例的重要性,通常将缺陷探测能力强的测试用例优先执行,使其提早发现软件缺陷,其可解决持续集成环境下的快速反馈需求.缺陷预测技术可通过被测系统代码特征和历史缺陷来预估信息预测软件在新版本中发现...  相似文献   

17.
测试用例的优化技术是软件测试的重要组成部分,其目的是将测试用例按照设定的规则进行排序,以便对测试效率有所提高。介绍了其背景和基本概念,从初始测试用例的优先级排序及回归测试的测试用例优先级排序进行概述,比较了各种优先级技术所适用的测试环境和优点,指出了测试用例优化技术的一些缺点和未来的发展方向。  相似文献   

18.
由于功能增加、性能调优、错误修复等原因,软件常常动态演化.现有测试技术难以满足软件演化过程中变化的测试需求,因此需要系统的测试用例演化技术,以有效保障演化软件的质量.回顾测试用例演化技术的研究现状,分别对测试用例选择、测试用例修复和测试用例集扩增这3部分内容进行了详细的比较和分析.最后提出测试用例演化技术领域存在的挑战和未来的研究方向.  相似文献   

19.
陈峰  ;李心科 《微机发展》2008,(11):131-133
构件的使用给大规模软件系统开发带来了很多方便.但构件测试仍然是软件工程中很难解决的问题。由于构件使用者对构件内部结构及变更信息缺乏了解,因此很难进行有效的回归测试用例选择。针对这一问题提出了一种回归测试用例选择方法,通过论述及实验分析.初步证实了所提出的方法在实际中的可行性和有效性。  相似文献   

20.
Regression testing is a testing activity that is performed to provide confidence that changes do not harm the existing behaviour of the software. Test suites tend to grow in size as software evolves, often making it too costly to execute entire test suites. A number of different approaches have been studied to maximize the value of the accrued test suite: minimization, selection and prioritization. Test suite minimization seeks to eliminate redundant test cases in order to reduce the number of tests to run. Test case selection seeks to identify the test cases that are relevant to some set of recent changes. Test case prioritization seeks to order test cases in such a way that early fault detection is maximized. This paper surveys each area of minimization, selection and prioritization technique and discusses open problems and potential directions for future research. Copyright © 2010 John Wiley & Sons, Ltd.  相似文献   

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

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