共查询到18条相似文献,搜索用时 62 毫秒
1.
2.
3.
用遗传算法的测试用例最小化 总被引:1,自引:0,他引:1
回归测试就是验证对程序的修改是否迭到了预期的目的,同时检查修改是否损害了程序原有的正常功能。随着程序新版本的不断推出,测试用例集不断扩大,回归测试成本越来越高。测试用例最小化就是从已有的用例集中,找到一个测试运行代价最小的用例子集用于回归测试,并保持原来的测试覆盖率。本文主要研究用遗传算法解决测试用例最小化问题:基于测试历史数据,设计基因编码并构建初始种群;利用测试覆盖率和测试运行代价设计适应度函数;通过遗传算子完成进化过程并找到最优或近似最优解。最后本文给出了对算法进行实例研究的结果。结果表明,本文提出的用例最小化技术能有效缩减回归测试用例集,大幅度降低回归测试费用。 相似文献
4.
并行程序执行的不确定性,增加了测试的复杂性和难度.研究消息传递并行程序的变异测试,提出其弱变异测试转化方法,以提高该程序变异测试的效率.首先,根据消息传递并行程序包含语句的类型和语句变异之后导致的变化构建相应的变异条件语句;然后,将构建好的所有变异条件语句插入到原程序中,形成新的被测程序,从而将原程序的弱变异测试问题转化为新程序的分支覆盖问题.这样做的好处是,能够利用已有的分支覆盖方法解决变异测试问题.将该方法应用于8个典型的消息传递并行程序测试中,实验结果表明,该方法不但是可行的,也是必要的. 相似文献
5.
为缩减测试用例规模,降低回归测试成本,将遗传算法和贪心算法相结合,提出了一种混合遗传算法用于解决测试用例最小化问题.算法对标准遗传算法中的选择、交叉和变异操作进行改善,提高了算法的全局寻优能力.同时,利用贪心算法处理可行解和不可行解,提高了算法的局部寻优能力.实验结果表明:与标准遗传算法相比,在保证测试完备性的前提下,混合遗传算法能够得到更优的缩减效果和更快的收敛速度. 相似文献
6.
实际测试用例一般不能满足变异测试充分,但遗传算法搜索空间较大,可使用其生成变异测试充分度较高的测试用例集.适应值函数的构造使用分支函数插装法.首先根据杀死弱变异体的必要性条件,构造必要性条件分支函数,插装于源程序中;然后根据可达性条件,构造可达性条件的分支函数并插装.使用基于面向路径的遗传算法来搜索杀死弱变异体的测试用例.将终止条件改为程序最终结果的不同,插装函数不变,生成满足条件的强变异测试用例.对于多重弱变异,按熙可达路径实施等价类划分,每一个等价类采用与单重弱变异相同的方法.实验结果表明,遗传算法可生成杀死各类变异体的测试用例,优于随机生成的测试用例. 相似文献
7.
在软件测试过程中,待测程序的预期输出是判断软件是否存在缺陷的重要因素.蜕变测试技术是利用被测软件的属性来检查程序输出,从而有效地解决程序预期输出难以构造的问题.近年来,蜕变测试在软件测试领域取得了蓬勃的发展,许多研究人员将蜕变测试技术进行优化,将其运用到各个领域,有效提高了软件质量.从原理、过程及其优化,应用领域3个方面,总结蜕变测试的研究工作,着重分析了近5年的研究进展,进一步展望了蜕变测试用于并行程序时,可能的研究主题.首先,介绍蜕变测试的基本概念和蜕变测试过程;接着,从蜕变关系、测试用例、测试执行过程以及蜕变测试工具4个角度,总结蜕变测试优化技术;然后,汇总了蜕变测试的应用领域;最后,基于已有研究成果,讨论蜕变测试在并行程序测试领域面临的问题,为蜕变技术在并行程序测试领域的研究提供可能的思路. 相似文献
8.
9.
10.
为了进行基于模型的软件测试变异分析,文中提出了一种基于模型检测的变异测试用例生成方法。基于模型检测工具UPPAAL的形式化分析与测试框架,首先用符合规范的时间自动机模型描述被测系统;然后基于时间自动机模型的基本结构和语法,对系统模型进行一组变异操作,并模拟实现时可能出现的一些错误;对变异后的模型分别使用UPPAAL Yggdrasil工具,生成一组能覆盖变异区域的测试用例;在系统变异模型上执行生成的测试用例,根据测试执行结果(是否能“杀死”变异体)筛选出一组有效的测试用例。通过实例验证,所提方案生成的测试用例是有效的,且测试用例集变异分数优于现有的基于状态机复制的变异测试用例自动生成方法和基于模型中变换覆盖的变异测试用例生成方法。 相似文献
11.
12.
测试用例优先排序是一种有效的降低回归测试开销的技术,通过对测试用例按照其重要程度排序后可获得更高的测试效率。针对传统多目标遗传算法在测试用例优化排序中存在的收敛较慢、易陷入局部最优、缺乏对不同测试准则的综合权衡等缺点,提出一种基于竞争模式的多目标协同进化算法。该方法采用平均代码覆盖率以及平均变异杀死率作为多个约束目标的测试准则来进行适应度度量,提高算法的错误检测率;使用个体绝对适应度与相对适应度对个体生存能力进行评价,衡量个体优秀程度,利用竞争性的协同进化思想加快算法收敛速度;通过剔除“老年”个体控制个体生存周期来避免陷入局部最优问题。同时,在影响算法执行效率的因素方面也进行了一系列的实验,结果表明该算法能够加快收敛速度,加强了局部搜索能力,相对于传统的优化算法来说具有更好的搜索效率和更高的错误检测率,从而验证了算法的有效性和可行性,证明了该算法具有一定的现实意义。 相似文献
13.
为了提高回归测试用例集的测试效率和有效性,提出由需求得到回归测试用例排序技术及其实现算法。由需求得到回归测试用例排序技术,将与软件需求相关的需求描述度、需求实现复杂度、需求稳定度和需求覆盖度等因素应用于测试用例排序,以缺陷检测加权平均百分比作为度量标准。通过实验,比较排序后用例和未排序用例缺陷检测情况,实验结果表明该技术排序后的回归测试用例集,能够尽早地发现更多的软件错误,有效提高回归测试效率,保证软件质量。 相似文献
14.
从需求的角度对测试用例的优先级进行排序,定义了一个多目标的测试用例优化排序问题,引入关注需求覆盖率、测试用例重要度和测试用例失效率这3个测试用例优先级影响因子,分别定义权重因子α,β,γ用于权衡3个因子.设计了关注需求覆盖率和测试用例失效率的在线估计方法及算法,在此基础上,设计了一种基于多目标优化的测试用例优先级在线调整策略,该策略可利用测试过程中收集到的反馈信息,对测试用例优先级进行在线调整,实现在尽早达到测试覆盖率标准的同时,尽早覆盖重要的和具有较高失效率的测试需求,从而解决尽早检测到更多的、严重等级较高的软件缺陷这一多目标测试用例优化问题.实验结果表明:与随机测试、传统的单目标优先级排序方法和确定性排序方法相比,所提出的策略能够在更短的时间内完成同等质量的软件测试,从而提高了测试效率. 相似文献
15.
16.
回归测试中测试用例优先级技术研究综述 总被引:6,自引:0,他引:6
测试用例优先级技术是一种高效实用的回归测试技术,其目的是将不同的测试用例按照其重要程度排序后使用,从而获得更高的回归测试效率。首先介绍了与测试用例优先级相关的研究背景和基本概念,然后对当前的研究工作和进展进行了全面概述,同时比较了各种优先级适用的环境和实验研究结果,最后指出了测试用例优先级中有待解决的问题以及未来的研究方向。 相似文献
17.
如何选取组合力度用于测试是可变力度组合测试用例优先级排序方法中迫于解决的关键问题。采用组合覆盖率为排序标准能够满足组合覆盖率,但其排序因素单一,测试用例优先级排序结果差异性较大,且无法根据测试结果反馈信息及时调整组合测试用例优先级。针对上述问题,该文结合One-test-at-a-time(OTT)策略、利用局部组合覆盖率、测试用例失效率和测试用例重要程度对组合测试用例优先级排序方法进行了研究。在测试过程中,实时关注测试用例的执行结果用于在线调整测试用例排序因素的取值情况,以达到实时更新组合测试用例优先级的目的。实验结果表明:相较于Random、ICBP、GISVSP和LISVSP方法,该方法使得组合测试用例优先级排序结果相对稳定,且在缺陷检测率上具有竞争力。 相似文献
18.
不变量指导的随机测试用例生成 总被引:1,自引:0,他引:1
随机测试以其自动化程度高、揭错能力强的优势一直在测试用例的自动化生成领域占据着重要的地位,但其冗余度高、覆盖率低的缺陷限制了它的应用.程序不变量是程序的某个或某些特定的点上保持为真的属性,它可以提供程序运行时的有价值的信息.提出一种不变量指导下的随机测试用例的自动化生成方法.这种方法通过提取程序运行时的动态不变量,指导随机测试用例的生成,并且利用随机生成的无效用例的反馈信息,约简冗余的随机用例空间,增大了选中有效用例的概率.实验结果表明,该方法在保持随机测试的高揭错能力的前提下,可以有效的降低随机测试的冗余度,提高其覆盖率. 相似文献