首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 140 毫秒
1.
组合测试:原理与方法   总被引:12,自引:0,他引:12  
严俊  张健 《软件学报》2009,20(6):1393-1405
组合测试能够在保证错误检出率的前提下采用较少的测试用例测试系统.但是,组合测试用例集的构造问题的复杂度是NP完全的.组合测试方法的有效性和复杂性吸引了组合数学领域和软件工程领域的学者们对其进行深入的研究.总结了近年来在组合测试方面的研究进展,主要内容包括:组合测试准则的研究、组合测试生成问题与其他NP完全问题的联系、组合测试用例的数学构造方法、采用计算机搜索的组合测试生成方法以及基于组合测试的错误定位技术.  相似文献   

2.
组合测试是系统测试中一种非常有效的方法,能够在保证错误检出率的前提下采用较少的测试用例来测试系统。但是,组合测试用例集构造问题的复杂度是NP完全的。给出了一种基于符号零压缩二叉决策图(Zero-suppressed Binary Decision Diagram,ZBDD)的组合测试用例生成方法。该方法首先利用ZBDD的结构特性,对测试系统进行紧凑的符号表示。然后利用ZBDD的隐式操作,结合贪心算法的思想,不断地覆盖更多的组合并缩小未覆盖组合集合,生成2~4维覆盖强度的较小测试用例集。实验证明,所提方法不仅可行而且节点开销小。  相似文献   

3.
基于部分覆盖表的错误交互定位方法   总被引:1,自引:0,他引:1  
在组合测试定位模型的基础上提出了部分覆盖表的错误交互定位方法,该方法在错误交互个数已知的条件下,通过生成部分覆盖表,利用测试用例运行结果提供的信息来对软件错误交互定位.从理论上证明了部分覆盖表等价于一类特殊的错误定位表,进而研究了部分覆盖表行数的上界,提出生成部分覆盖表的贪心算法,从而给出了定位引发软件故障的错误交互的...  相似文献   

4.
一种基于粒子群优化的成对组合测试算法框架   总被引:4,自引:0,他引:4  
陈翔  顾庆  王子元  陈道蓄 《软件学报》2011,22(12):2879-2893
提出一种基于粒子群优化的成对组合测试用例集生成算法框架.在生成测试用例时,该框架采用粒子群优化尝试生成强组合覆盖能力的测试用例,并研究了搜索空间、适应值函数和启发式的合理设定;在构造组合测试用例集时,以上述测试用例生成算法为基础,提出两种策略:一种基于one-test-at-a-time,另一种基于类IPO.编程实现该算法框架,并通过实证研究分析了算法框架中不同设定对组合测试用例集规模的影响;最后,与现有的经典方法在组合测试用例集生成规模和算法执行时间上进行了比较.最终结果表明,该算法具有竞争力.  相似文献   

5.
基于接口参数的黑箱测试用例自动生成算法   总被引:31,自引:5,他引:31  
测试用例的选择与生成技术是软件测试尤其是黑箱测试的一个重要研究领域,测试用例的质量将直接决定软件测试的科学性和有效性.该文在一般的测试用例选择方法的基础上,提出了一种基于对接口参数进行组合覆盖的黑箱测试用例自动生成算法模型,据此可以生成一个对所有接口参数进行两两组合覆盖的测试用例表.并证明了该方法产生的测试用例具有数量少、能实现对接口参数最大限度组合覆盖的特点,从而可以在提高软件测试质量的同时,降低成本,提高效率.最后介绍了该算法在作者研究开发的测试数据生成工具中的实际效果.  相似文献   

6.
主要针对软件测试中黑盒测试时测试用例集过大,以及测试效率低的问题,提出了一种有用有效的测试用例集生成设计方法.该方法根据待测系统参数的输入输出关系,对输入参数进行分组生成输入参数的组合关系集,再仅对组合关系集中每组输入变量生成两两组合覆盖测试用例集合,然后进行水平拼接生成最终的用于待测系统测试的测试用例集合.实验结果表明,该方法不仅能有效地减少了测试用例数目,而且还能够保持了原来测试检错能力,从而提高测试效率.  相似文献   

7.
软件测试是一项重要的软件确认活动,通过运行测试用例,旨在发现软件中存在的错误,保证交付出高质量的软件。为保证水利业务应用系统的质量,需要在建设过程中对系统进行充分的测试。研究测试用例的生成方法,包括逻辑覆盖和基本路径测试等白盒测试技术,以及等价划分和边界值分析等黑盒测试技术。选择防汛信息查询模块,重点探讨使用白盒和黑盒测试技术对该模块进行测试用例的生成,再运行测试用例对系统进行测试。2种测试技术能够有效地检测出系统中存在的错误,使开发人员能够及时修正错误。  相似文献   

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

9.
组合测试研究进展   总被引:4,自引:0,他引:4  
组合测试(Interaction Testing)是一种有效的测试用例生成技术,它假设被测系统中的缺陷往往由少数参数间的交互触发,所以可以使用较小规模的测试用例集(Test Suite)完成高质量的软件测试。对目前组合测试的已有工作予以研究,首先通过介绍常见的组合覆盖标准引入组合测试问题;然后总结目前常见的4种组合对象;之后依据生成策略的特征对现有的组合测试技术予以分类并简要介绍其中的典型方法;接着给出一套评价标准并对各个方法予以综合比较;最后总结并提出下一步的研究方向。  相似文献   

10.
针对组合测试测试用例生成环节中局部最优的问题,提出一种基于惯性权重优化的测试用例生成方法。结合粒子群算法的优点,以生成最小规模覆盖表为目标,改进适应值函数,设计一种惯性权重微分递减策略;在此基础上,更新调优后的惯性权重值,使用测试用例演化策略迭代生成测试用例集,提升生成更小规模覆盖表的能力。实验结果表明,该方法在高覆盖需求下,覆盖表最小生成规模和平均生成规模优于其它方法。  相似文献   

11.
基于冗余测试用例的最小测试用例集生成方法   总被引:1,自引:1,他引:0       下载免费PDF全文
提出一种最小测试用例集的生成方法。保留在某个测试标准下冗余,但在其他测试标准下不冗余的测试用例,即在测试用例集简化期间通过有选择性地保留测试用例来生成一个测试用例集。与已有方法相比,该方法能在不影响测试组大小范围的情况下有效提高错误检测效率。  相似文献   

12.
一个复杂的软件系统通常受很多因素影响,它们之间的交互造成系统行为的复杂化和各种故障,要完全地测试这些交互组合,不切实际。组合测试技术考虑因素的不同交互对系统产生的不同影响,以最小的测试用例提高测试质量。本文提出一种根据和声搜索算法产生组合测试用例的方法,解决多维组合覆盖和可变强度组合覆盖的关键问题,并通过实验验证该方法的有效性。  相似文献   

13.
基于解空间树的组合测试数据生成   总被引:12,自引:1,他引:12  
在组合覆盖测试模型的基础上提出:将所有的可用测试数据表示为一棵解空间树,利用回溯法对解空间树进行路径搜索来生成测试数据,然后使用贪心算法补充生成测试数据,以满足两两组合覆盖标准.并且实现了基于该方法的测试数据生成工具,所生成的测试数据集与同类工具相比具有一定的特点和优势.  相似文献   

14.
在组合测试用例优先级排序问题中,通常采用组合覆盖率为排序标准,该方法能够尽快满足覆盖率的要求,但其排序影响因子较为单一,缺陷检测能力不稳定。针对此问题,该文结合One-Test-at-a-Time(OTT)策略提出了一种在线调整的组合测试用例优先级排序方法,引入多重待覆盖率、测试用例失效率和测试用例重要程度3个影响因子用于衡量组合测试用例优先级。根据测试用例的在线测试反馈信息,该方法能够实时调整组合测试用例的优先级,增加了优先级排序的准确性。实验结果表明,相较于original、基于单一覆盖和多重覆盖的组合测试优先级排序方法,该方法在缺陷检测能力和稳定性上具有更强的竞争力。  相似文献   

15.
测试数据生成是组合测试的一个关键问题,但是组合测试用例集的构造问题的复杂度是NP完全的。提出了一种成对组合测试用例集整体优化和生成的方法。该方法通过编码机制将测试用例数据的生成问题转换为一个基于二进制编码的最优化问题,同时使用遗传算法对此编码空间进行搜索,并对所发现的最优个体进行解码,构造产生最佳测试用例集。实验结果表明,该方法简单高效,且具有解的质量高、时间消耗小的特点。  相似文献   

16.
A common application of search-based software testing is to generate test cases for all goals defined by a coverage criterion (e.g., lines, branches, mutants). Rather than generating one test case at a time for each of these goals individually, whole test suite generation optimizes entire test suites towards satisfying all goals at the same time. There is evidence that the overall coverage achieved with this approach is superior to that of targeting individual coverage goals. Nevertheless, there remains some uncertainty on (a) whether the results generalize beyond branch coverage, (b) whether the whole test suite approach might be inferior to a more focused search for some particular coverage goals, and (c) whether generating whole test suites could be optimized by only targeting coverage goals not already covered. In this paper, we perform an in-depth analysis to study these questions. An empirical study on 100 Java classes using three different coverage criteria reveals that indeed there are some testing goals that are only covered by the traditional approach, although their number is only very small in comparison with those which are exclusively covered by the whole test suite approach. We find that keeping an archive of already covered goals along with the tests covering them and focusing the search on uncovered goals overcomes this small drawback on larger classes, leading to an improved overall effectiveness of whole test suite generation.  相似文献   

17.
测试用例集的约简方法研究   总被引:1,自引:0,他引:1  
蚁群算法是一种群体智能算法,能有效解决复杂的组合优化问题.在测试用例约简的问题上,该算法能在速度和精确度上寻求到一个平衡点.与传统的最小化算法不同,这个算法不仅考虑了每个测试用例覆盖度,还考虑了用例的运行代价,实验给出了这个算法与经典算法的比较结果,结论表明,此算法能快速有效缩减测试用例集的数量并降低测试运行代价,以提...  相似文献   

18.
Combinatorial testing (CT) is an effective technique to test software with multiple configurable parameters. It is used to detect interaction faults caused by the combination effect of parameters. CT test generation aims at generating covering arrays that cover all t-way parameter combinations, where t is a given covering strength. In practical CT usage scenarios, there are usually constraints between parameters, and the performance of existing constraint-handling methods degrades fast when the number of constraints increases.The contributions of this paper are (1) we propose a new one-test-at-a-time algorithm for CT test generation, which uses pseudo-Boolean optimization to generate each new test case; (2) we have found that pursuing the maximum coverage for each test case is uneconomic, and a possible balance point is to keep the approximation ratio in [0.8,0.9]; (3) we propose a new self-adaptive mechanism to stop the optimization process at a proper time when generating each test case; (4) extensive experimental results show that our algorithm works fine on existing benchmarks, and the constraint-handling ability is better than existing approaches when the number of constraints is large; and (5) we propose a method to translate shielding parameters (a common type of constraints) into normal constraints.  相似文献   

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

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