共查询到19条相似文献,搜索用时 93 毫秒
1.
2.
3.
用遗传算法的测试用例最小化 总被引:1,自引:0,他引:1
回归测试就是验证对程序的修改是否迭到了预期的目的,同时检查修改是否损害了程序原有的正常功能。随着程序新版本的不断推出,测试用例集不断扩大,回归测试成本越来越高。测试用例最小化就是从已有的用例集中,找到一个测试运行代价最小的用例子集用于回归测试,并保持原来的测试覆盖率。本文主要研究用遗传算法解决测试用例最小化问题:基于测试历史数据,设计基因编码并构建初始种群;利用测试覆盖率和测试运行代价设计适应度函数;通过遗传算子完成进化过程并找到最优或近似最优解。最后本文给出了对算法进行实例研究的结果。结果表明,本文提出的用例最小化技术能有效缩减回归测试用例集,大幅度降低回归测试费用。 相似文献
4.
并行程序执行的不确定性,增加了测试的复杂性和难度.研究消息传递并行程序的变异测试,提出其弱变异测试转化方法,以提高该程序变异测试的效率.首先,根据消息传递并行程序包含语句的类型和语句变异之后导致的变化构建相应的变异条件语句;然后,将构建好的所有变异条件语句插入到原程序中,形成新的被测程序,从而将原程序的弱变异测试问题转化为新程序的分支覆盖问题.这样做的好处是,能够利用已有的分支覆盖方法解决变异测试问题.将该方法应用于8个典型的消息传递并行程序测试中,实验结果表明,该方法不但是可行的,也是必要的. 相似文献
5.
为缩减测试用例规模,降低回归测试成本,将遗传算法和贪心算法相结合,提出了一种混合遗传算法用于解决测试用例最小化问题.算法对标准遗传算法中的选择、交叉和变异操作进行改善,提高了算法的全局寻优能力.同时,利用贪心算法处理可行解和不可行解,提高了算法的局部寻优能力.实验结果表明:与标准遗传算法相比,在保证测试完备性的前提下,混合遗传算法能够得到更优的缩减效果和更快的收敛速度. 相似文献
6.
实际测试用例一般不能满足变异测试充分,但遗传算法搜索空间较大,可使用其生成变异测试充分度较高的测试用例集.适应值函数的构造使用分支函数插装法.首先根据杀死弱变异体的必要性条件,构造必要性条件分支函数,插装于源程序中;然后根据可达性条件,构造可达性条件的分支函数并插装.使用基于面向路径的遗传算法来搜索杀死弱变异体的测试用例.将终止条件改为程序最终结果的不同,插装函数不变,生成满足条件的强变异测试用例.对于多重弱变异,按熙可达路径实施等价类划分,每一个等价类采用与单重弱变异相同的方法.实验结果表明,遗传算法可生成杀死各类变异体的测试用例,优于随机生成的测试用例. 相似文献
7.
在软件测试过程中,待测程序的预期输出是判断软件是否存在缺陷的重要因素.蜕变测试技术是利用被测软件的属性来检查程序输出,从而有效地解决程序预期输出难以构造的问题.近年来,蜕变测试在软件测试领域取得了蓬勃的发展,许多研究人员将蜕变测试技术进行优化,将其运用到各个领域,有效提高了软件质量.从原理、过程及其优化,应用领域3个方面,总结蜕变测试的研究工作,着重分析了近5年的研究进展,进一步展望了蜕变测试用于并行程序时,可能的研究主题.首先,介绍蜕变测试的基本概念和蜕变测试过程;接着,从蜕变关系、测试用例、测试执行过程以及蜕变测试工具4个角度,总结蜕变测试优化技术;然后,汇总了蜕变测试的应用领域;最后,基于已有研究成果,讨论蜕变测试在并行程序测试领域面临的问题,为蜕变技术在并行程序测试领域的研究提供可能的思路. 相似文献
8.
9.
10.
为了进行基于模型的软件测试变异分析,文中提出了一种基于模型检测的变异测试用例生成方法。基于模型检测工具UPPAAL的形式化分析与测试框架,首先用符合规范的时间自动机模型描述被测系统;然后基于时间自动机模型的基本结构和语法,对系统模型进行一组变异操作,并模拟实现时可能出现的一些错误;对变异后的模型分别使用UPPAAL Yggdrasil工具,生成一组能覆盖变异区域的测试用例;在系统变异模型上执行生成的测试用例,根据测试执行结果(是否能“杀死”变异体)筛选出一组有效的测试用例。通过实例验证,所提方案生成的测试用例是有效的,且测试用例集变异分数优于现有的基于状态机复制的变异测试用例自动生成方法和基于模型中变换覆盖的变异测试用例生成方法。 相似文献
11.
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. 相似文献
12.
13.
测试用例优先排序是一种有效的降低回归测试开销的技术,通过对测试用例按照其重要程度排序后可获得更高的测试效率。针对传统多目标遗传算法在测试用例优化排序中存在的收敛较慢、易陷入局部最优、缺乏对不同测试准则的综合权衡等缺点,提出一种基于竞争模式的多目标协同进化算法。该方法采用平均代码覆盖率以及平均变异杀死率作为多个约束目标的测试准则来进行适应度度量,提高算法的错误检测率;使用个体绝对适应度与相对适应度对个体生存能力进行评价,衡量个体优秀程度,利用竞争性的协同进化思想加快算法收敛速度;通过剔除“老年”个体控制个体生存周期来避免陷入局部最优问题。同时,在影响算法执行效率的因素方面也进行了一系列的实验,结果表明该算法能够加快收敛速度,加强了局部搜索能力,相对于传统的优化算法来说具有更好的搜索效率和更高的错误检测率,从而验证了算法的有效性和可行性,证明了该算法具有一定的现实意义。 相似文献
14.
Software testers always face the dilemma of whether to retest the software with all the test cases or select a few of them on the basis of their fault detection ability. This paper introduces a novel approach to minimizing the test suite as an integer linear programming problem with optimal results. The minimization method uses the cohesion values of the program parts affected by the changes made to the program. The hypothesis is that the program parts with low cohesion values are more prone to errors. This assumption is validated on the mutation fault detection ability of the test cases. The experimental study carried out on 30 programs evaluates the effectiveness and usefulness of the proposed framework. The experimental results show that the minimized test suite can efficiently reveal the errors and ensure acceptable software quality. Copyright © 2017 John Wiley & Sons, Ltd. 相似文献
15.
测试用例优先化技术有利于提高测试的质量和效率。文章提出了一种在系统测试阶段基于需求的测试用例优先化方法TRP,并通过实验结果加以验证。与随机方法对测试用例排序的测试相比,TRP方法能尽早发现软件严重缺陷并提高缺陷检测率。 相似文献
16.
从需求的角度对测试用例的优先级进行排序,定义了一个多目标的测试用例优化排序问题,引入关注需求覆盖率、测试用例重要度和测试用例失效率这3个测试用例优先级影响因子,分别定义权重因子α,β,γ用于权衡3个因子.设计了关注需求覆盖率和测试用例失效率的在线估计方法及算法,在此基础上,设计了一种基于多目标优化的测试用例优先级在线调整策略,该策略可利用测试过程中收集到的反馈信息,对测试用例优先级进行在线调整,实现在尽早达到测试覆盖率标准的同时,尽早覆盖重要的和具有较高失效率的测试需求,从而解决尽早检测到更多的、严重等级较高的软件缺陷这一多目标测试用例优化问题.实验结果表明:与随机测试、传统的单目标优先级排序方法和确定性排序方法相比,所提出的策略能够在更短的时间内完成同等质量的软件测试,从而提高了测试效率. 相似文献
17.
Dennis Jeffrey 《Journal of Systems and Software》2008,81(2):196-221
Software testing and retesting occurs continuously during the software development lifecycle to detect errors as early as possible and to gain confidence that changes to software do not introduce defects. Once developed, test suites are reused and updated frequently, and their sizes grow as software evolves. Due to time and resource constraints, an important goal during regression testing of software is to prioritize the execution of test cases in a suite so as to improve the chances of increasing the rate of fault detection. Prior techniques for test case prioritization are based on the total number of coverage requirements exercised by the test cases. In this paper, we present a new approach to prioritize test cases that takes into account the coverage requirements present in the relevant slices of the outputs of test cases. We have implemented three different heuristics based on our relevant slicing based approach to prioritize test cases and conducted experiments to compare the effectiveness of our techniques with those of the traditional techniques that only account for the total requirement coverage. Our detailed experimental study and results provide interesting insights into the effectiveness of using relevant slices for test case prioritization in terms of ability to achieve high rate of fault detection. 相似文献
18.
针对持续集成环境下回归测试需要进行持续优化的问题,提出一种依据回归测试目标自适应调整策略的优化方法.首先将失败标志、缺陷检测数、重要性因子、新旧功能标志作为用例属性进行标记,根据历史数据和关联关系对用例属性进行初始化;而后根据阶段测试目标,区分新功能测试、修改性测试,将需求映射为具体的用例属性指标,据此对用例进行选择;计算重要性因子,更新用例属性标签,根据用例属性进行优先级自动排序;用例执行中,按照时间、资源要求,根据用例属性选择相应规模的测试用例进行执行.最后选择开源数据集进行实验,结果表明该方法针对不同的测试目标均能够降低执行用例的规模,提高缺陷检测效率. 相似文献
19.
一个划算的回归测试用例排序的成本-收益模型 总被引:1,自引:0,他引:1
回归测试是一个昂贵的测试过程,它验证修改的软件,确认是否给已经测试的代码引进了新的错误.因为在软件开发的过程中,测试人员给测试包中增加了新的测试用例,使软件确认更加困难.为了使回归测试更经济划算,提出了很多技术和方法.测试用例选择,测试包缩减,测试用例排序可以帮助我们减少需要运行的测试用例数目,同时能够更快地满足测试目标.测试用例排序是在满足某个性能目标的基础上,保证在测试过程中首先执行更重要的功能.以前的研究提出了一个性能目标:缺陷发现率(APFD),以及很多改善缺陷发现率的技术.但是这些技术运用起来非常昂贵,而且可能不会减少回归测试的成本.在以往研究的基础上,提出了一个成本-收益模型,为比较各种排序算法提供了一定依据.并在此基础上,提供了一个测试用例排序算法. 相似文献