Handling Constraints in Combinatorial Interaction Testing in the presence of Multi Objective Particle Swarm and Multithreading
背景:组合测试策略最近由于其不同的应用而受到了广泛的关注。在其简单的形式中,组合策略可以基于它们的相互作用(或组合)将系统的几个输入参数(配置)减少到一个小集合中。在实践中,软件系统的输入配置受到约束,特别是在高度可配置的系统的情况下。要在策略中实现这一功能,会给构造带来许多困难。虽然现在有很多组合交互测试策略,但很少有支持约束的。目的:本文提出了一种新的策略,在存在约束条件的情况下构造组合交互测试集。方法:给出了详细的设计和算法.为了克服多个判断标准的最优解,多目标粒子群优化和多线程。该战略及其相关的算法进行了广泛的评估,使用不同的基准和比较。结果:我们的结果是有前途的评价结果显示了每个算法的效率和性能的战略。基准测试的结果也表明,该策略可以有效地生成约束测试套件相比,国家的最先进的战略。结论:该策略为约束组合交互测试集的构建提供了一种新的思路。该战略可为今后的执行工作奠定新的有效基础。
2018-04-20 cs.SE
Achievement of Minimized Combinatorial Test Suite for Configuration-Aware Software Functional Testing Using the Cuckoo Search Algorithm
软件已经成为当今科学和工程中许多应用和方法的创新解决方案。确保软件的质量和正确性具有挑战性,因为每个程序都有不同的配置和输入域。为了确保软件的质量,所有可能的配置和输入组合都需要根据其预期输出进行评估。然而,由于输入和配置的大范围所导致的时间和资源限制,这种详尽的测试是不切实际的。因此,不同的采样技术已被用于对这些输入域和配置进行采样。目的:组合测试可以有效地检测被测软件中的错误。该技术使用组合优化概念,通过考虑输入的组合来系统地最小化测试用例的数量。提出了一种利用布谷鸟搜索概念生成组合测试用例集的新策略。方法:布谷鸟搜索用于设计和实现的策略,以构建优化的组合集。该策略由不同的构造算法组成。这些算法结合起来为布谷鸟搜索服务。结果:通过不同的实验组证明了新技术的效率和性能。该策略的有效性进行评估,通过应用所生成的测试套件对一个真实世界的案例研究功能测试的目的。结论:结果表明,生成的测试集可以有效地检测故障。此外,该策略还为布谷鸟搜索在软件工程背景下的应用开辟了新的方向。
2019-03-25 cs.SE
Generalized Coverage Criteria for Combinatorial Sequence Testing
针对以动作与断言序列为测试向量的系统,提出广义序列覆盖准则、测试套件生成工具及贝叶斯风险量化框架,并实证验证其缺陷发现、风险评估与覆盖效果。
2023-10-31 cs.SE
Constrained Detecting Arrays: Mathematical Structures for Fault Identification in Combinatorial Interaction Testing
检测阵列是一种数学结构,其目的是在组合交互测试中识别故障。然而,它们不能直接应用于在测试参数之间具有约束的系统。这样的约束在现实世界的系统中是普遍存在的。目的:本文提出了约束检测阵列(CDA),检测阵列的扩展,可用于系统的约束。方法:本文通过严格的论证来考察CDA的性质和能力。本文还提出了两种构造CDA的算法:一种是以生成最小CDA为目标的算法,另一种是以快速生成CDA为目标的启发式算法。通过实验使用基准数据集的算法进行评估。结果如下:实验结果表明,第一种算法可以在足够长的生成时间内生成最小的CDA,第二种算法可以在合理的时间内生成最小或接近最小的CDA。结论:CDAs增强了检测阵列在有约束系统中的应用。这两种算法在数组大小和生成时间上具有不同的优势
2021-10-13 cs.SE
Code-Aware Combinatorial Interaction Testing
组合交互测试(CIT)是解决软件系统中输入参数交互的有效测试技术。在许多应用中,该技术已被用作一种系统的抽样技术,对测试用例的巨大可能性进行抽样。在过去的十年中,大多数的研究活动集中在CIT测试套件的生成,因为它是一个计算复杂的问题。虽然有希望,但在应用CIT方面付出的努力较少。一般来说,要应用CIT,从业者必须确定被测软件(SUT)的输入参数,将这些参数提供给CIT工具以生成测试套件,然后在应用程序上运行这些测试,并使用某些通过和失败标准进行验证。使用这种方法,CIT被用作黑盒测试技术,而不知道内部代码的效果。虽然有用,但实际上,并非所有参数对SUT具有相同的影响。本文介绍了一种不同的方法来使用CIT作为一个灰盒测试技术,通过考虑内部代码结构的SUT知道每个输入参数的影响,从而使用这种影响在测试生成阶段。我们将我们的方法应用于五个可靠的案例研究。结果表明,该方法将有助于检测新的故障相比,等影响参数的方法。
2019-07-21 cs.SE
Constrained locating arrays for combinatorial interaction testing
本文介绍了约束定位阵列(CLAs)的概念,它是一种可用于软件测试中故障定位的数学对象。CLA扩展了普通的定位数组,使其适用于测试参数有约束的系统的测试。这样的限制是常见的,在现实世界的系统,因此CLA增强了定位阵列的实际测试问题的适用性。本文还提出了一种构造CLAs的算法。实验结果表明,该算法可扩展到实际规模的问题。
2019-05-31 cs.DM cs.SE
An Extensive Empirical Study on Evaluation Metrics for Combinatorial Interaction Testing
School of Computer Science and Engineering, Macau University of Science and Technology(澳门科技大学计算机科学与工程学院);Macau University of Science and Technology Zhuhai MUST Science and Technology Research Institute(澳门科技大学珠海澳门科技大学研究院);School of Information Science and Technology, Dalian Maritime University(大连海事大学信息科学与技术学院);School of Science, University of Tokyo(东京大学理学部);Department of Electrical and Computer Engineering, University of Alberta(阿尔伯塔大学电气与计算机工程系)
本研究系统综述组合交互测试的黑盒评估指标,并通过涵盖32个测试场景和295,624个测试套件的实证分析,发现值组合覆盖率(VCC)是有效的预测指标,且基于分布的指标计算成本更低,最终为从业者提供了指标选择指南。
2026-10-05 cs.SE
Systematic Training and Testing for Machine Learning Using Combinatorial Interaction Testing
National Security Institute, Virginia Tech(弗吉尼亚理工学院国家安全研究所);The MITRE Corporation(米特雷公司)
本文演示了系统地使用组合覆盖来选择和表征机器学习模型的测试和训练集。所提出的工作适应组合交互测试,这已成功地利用在软件测试中识别故障,表征数据用于机器学习。MNIST手写数字数据用于证明组合覆盖可用于选择强调机器学习模型性能的测试集,选择导致鲁棒模型性能的训练集,以及选择用于微调模型到新领域的数据。因此,结果证明了组合覆盖作为机器学习训练和测试的整体方法。与以前的工作集中在使用覆盖方面的内部神经网络,本文认为覆盖简单的功能来自输入和输出。因此,本文解决了机器学习模型的测试和训练集的供应商对模型本身没有知识产权的情况。最后,本文解决了先前的批评组合覆盖,并提供了一个反驳,主张在机器学习应用程序中使用的覆盖度量。
2022-01-28 cs.LG cs.SE stat.ML
A Benchmark Generator for Combinatorial Testing
Universitat de Lleida(莱里达大学)
组合测试(CT)工具对于正确测试各种系统(训练系统、图形用户界面(GUI)、自动驾驶系统等)至关重要。虽然有一个积极的研究社区致力于开发CT工具,矛盾的是,很少有人注意到提供足够的资源来测试CT工具本身。特别是,评估其正确性、有效性和效率的一套可用基准相当有限。在本文中,我们介绍了一个新的生成器的CT基准,基本上借用了结构中包含的过多的可用组合问题从其他研究社区,以创建有意义的基准。我们还使用这些新的基准对CT工具进行了广泛的评估。由于这项研究,我们提供了一些见解,在何种情况下应使用特定的CT工具。
2023-01-24 cs.AI cs.SE
Combinatorial Testing for Deep Learning Systems
Harbin Institute of Technology(哈尔滨工业大学);Nanyang Technological University(南洋理工大学);New York University Shanghai(上海纽约大学);University of Illinois at Urbana–Champaign(伊利诺伊大学厄巴纳-香槟分校);Kyushu University(九州大学)
深度学习(DL)在过去十年中取得了显著的进展,并被广泛应用于许多安全关键型应用。然而,DL系统的鲁棒性最近受到了极大的关注,例如对抗计算机视觉系统的示例,这可能会导致严重的后果。采用测试技术可以帮助评估DL系统的健壮性,从而在早期阶段发现漏洞。测试这类系统的主要挑战是它的运行时状态空间太大:如果我们将每个神经元视为DL的运行时状态,那么DL系统通常包含大量状态,几乎不可能测试每个状态。对于传统的软件来说,组合测试(CT)是一种有效的测试技术,它可以在获得较高缺陷检测能力的同时减少测试空间。在本文中,我们进行了探索性的研究CT DL系统。我们适应CT的概念,并提出了一套覆盖标准的DL系统,以及CT覆盖引导的测试生成技术。我们的评估表明,CT提供了一个很有前途的途径测试DL系统。我们进一步提出了几个开放的问题和有趣的方向DL系统的组合测试。
2018-06-20 cs.AI cs.CR cs.SE
Fuzzy Adaptive Tuning of a Particle Swarm Optimization Algorithm for Variable-Strength Combinatorial Test Suite Generation
组合交互测试是一种重要的软件测试技术,近年来引起了广泛的关注。它可以通过考虑输入参数组合之间的相互作用来减少测试用例的数量。经验证据表明,它可以有效地检测故障,特别是高度可配置的软件系统。在实际的软件测试中,输入变量之间的交互作用可能会有所不同,变强度组合交互测试(VS-CIT)可以利用这一点来提高测试效率。变强度测试集的生成是一个非确定性的多项式时间(NP)计算难题\cite{BestounKamalFuzzy2017}。研究表明,与VS-CIT问题的替代方案相比,粒子群优化(PSO)等基于随机种群的算法可能是有效的。然而,它们需要对开发和探索权衡进行详细控制,以避免过早收敛(即陷入局部最优)以及提高解决方案的多样性。在这里,我们提出了一个新的变种的PSO Mamdani模糊推理系统\cite{Camastra2015,TSAKIRIDIS2017257,KHOSRAVANIAN2016280}的基础上,允许自适应选择其全局和局部搜索操作。我们详细介绍了这种组合算法的设计,并通过多个合成和基准问题的实验进行评估。我们的结论是,模糊自适应选择的全局和局部搜索操作,至少是可行的,因为它只执行第二个最好的离散变异的PSO,称为DPSO。在获得最佳平均测试集规模方面,模糊自适应有时甚至优于DPSO。我们讨论了这种性能背后的原因,并概述了未来工作的相关领域。
2018-10-13 cs.SE
Using binary decision diagrams for constraint handling in combinatorial interaction testing
组合交互测试中测试参数之间的约束关系对测试用例生成的性能有着重要的影响。本文研究了使用二元决策图(BDD)的约束处理的有效性。BDD是一种用于表示和操作布尔函数的数据结构。约束处理程序的核心作用是执行检查,以确定具有未指定参数值的部分测试用例是否满足约束。在生成测试套件的过程中,这种检查会被执行多次;因此,检查的效率会显著影响测试用例生成所需的总时间。在本文中,我们研究了两种不同的方法。第一种方法通过计算布尔函数的逻辑与来执行这种检查,布尔函数代表所有满足约束的完整测试用例和给定的部分测试用例。第二种方法使用一种新的技术来构造一个BDD,表示所有的约束满足部分测试用例。使用此BDD,可以通过简单地从根到接收器遍历BDD来执行检查。我们开发了一个程序,将这两种方法到IPOG,一个著名的测试用例生成算法。使用这个程序,我们经验性地评估这些基于BDD的约束处理方法的性能,共使用62个问题的实例。在评估中,这两种方法进行了比较,三种不同的约束处理方法,即基于布尔可满足性(SAT)解决,最小禁止元组(MFTs),和约束满足问题(CSP)解决。评估结果表明,这两个BDD为基础的方法通常优于其他约束处理技术和BDD为基础的方法,使用新的技术表现出最好的性能。
2019-07-03 cs.SE
Generating Pairwise Combinatorial Interaction Test Suites Using Single Objective Dragonfly Optimisation Algorithm
组合交互测试作为一种有效的软件测试技术,近年来得到了广泛的关注。它显示了它的能力,以减少测试用例的数量,必须考虑的被测软件的参数的组合作为一个相互作用的输入。这种组合可以被认为是不同软件系列的输入配置。成对组合测试集考虑了两个输入参数的交互作用,而不是多个参数的交互作用。有证据表明,该测试套件可以检测到大多数的故障在测试中的软件相比,更高的相互作用。本文提出了一种生成两两组合测试集的新技术。并对一种新的群智能优化算法--龙飞算法(DF)进行了评价.文中详细介绍了算法的设计和自适应过程。该算法通过不同的实验和基准测试进行了广泛的评估。评估表明,所提出的技术的效率测试套件生成和DF优化算法的有用性,为今后的调查。
2019-04-09 cs.SE
Towards Statistical Prioritization for Software Product Lines Testing
由于要考虑的产品数量的组合爆炸,软件产品线(SPL)本质上很难测试。为了减少要测试的产品的数量,已经提出了诸如组合交互作用测试的采样技术。它们通常从特征模型开始,并应用覆盖标准(例如成对特征交互或相异性)来生成易于处理的、故障查找的待测试配置列表。优先级也可以用于排序/生成这样的列表,优化覆盖标准或分配给特征的权重。然而,目前的采样/优先级技术几乎没有考虑到产品的行为。我们探讨如何统计测试的想法,使用模型(马尔可夫链)的基础上,可以用来提取配置的兴趣,根据他们的执行的可能性。这些执行被收集在特征转换系统中,紧凑地表示SPL行为。我们讨论了可能的情况下,并给出了一个例子说明的优先顺序的程序。
2014-01-23 cs.SE
Bypassing the Combinatorial Explosion: Using Similarity to Generate and Prioritize T-wise Test Suites for Large Software Product Lines
软件产品线(SPLs)是一系列产品,其共性和可变性可以通过特征模型(FM)来捕获。t-wise测试旨在发现由t个特征之间的所有交互触发的错误,从而大大减少要测试的产品数量。SPL的T-方式测试方法仅限于小的t值-这会错过错误的交互-或者受到FM大小的限制。此外,它们既没有对要测试的产品进行优先级排序,也没有提供精细控制生成过程的方法。本文提供了(a)一种基于搜索的方法,能够生成大型SPL的产品,形成一个可扩展的和灵活的替代目前的技术和(b)优先级算法的任何一组产品。在124个功能模块(包括Linux内核等大型功能模块)上进行的实验证明了该方法的可行性和实用性。
2012-11-23 cs.SE
A Practical Approach to Combinatorial Test Design
本书系统介绍组合测试设计(CTD)方法,涵盖建模、约束定义、覆盖需求及工具构建算法,并通过练习帮助读者掌握高效测试设计。
2024-10-25 cs.SE
Random Grammar-based Testing for Covering All Non-Terminals
在软件测试的上下文中,生成复杂的数据输入经常使用基于语法的规范来执行。由于组合的原因,详尽地生成给定大小的数据实际上是不可能的,大多数方法要么基于随机技术,要么基于覆盖标准。在本文中,我们将展示如何结合这两种技术,通过偏置随机生成,以优化满足覆盖标准的概率。
2013-11-26 cs.SE
Supplementary Material for the Information Sciences Paper: An Experimental Study of Hyper-Heuristic Selection and Acceptance Mechanism for Combinatorial t-way Test Suite Generation
软件测试涉及到根据某些定义的规范访问程序功能的过程。为了确保一致性,测试工程师通常会生成一组测试用例来验证用户需求。由于软件的复杂性不断增加,并且越来越多地扩散到各种应用领域,软件项目在多个地点甚至分布在多个大陆上的测试团队已经不再罕见。由于许多软件开发活动的相互依赖性及其地理和时间问题,可能会有许多重叠的测试用例,这可能会导致共享模块之间的不必要的冗余(即,一项要求的测试可能被多项测试覆盖)。在本文中,我们探讨了我们新开发的超启发式,称为模糊推理选择(FIS),解决测试冗余减少问题的应用。本文介绍了对发表在《信息科学》上的论文《超启发式选择和接受机制在组合测试集生成中的实验研究》的补充结果。
2017-02-15 cs.SE
Test Scenario Generation for Context-Oriented Programs
它们的高度适应性和可能配置的组合爆炸使得测试面向上下文的程序变得困难。我们提出了一种方法来自动生成测试场景的开发人员的功能为基础的面向上下文的程序。通过使用组合交互测试,我们生成一个覆盖数组,从其中可以推断出一个小的,但有代表性的测试场景集。通过利用这种面向上下文的程序中上下文和功能的明确分离,我们可以进一步重新排列生成的测试场景,以最大限度地减少后续场景之间的重新配置成本。最后,我们将探讨如何在系统发展到新版本时,逐步适应先前生成的测试套件。通过在一个小的用例上验证这些算法,我们的初步结果表明,所提出的测试生成方法是有效的,有利于开发人员测试和改进面向上下文的程序的设计。
2021-09-24 cs.SE
Avocado: Open-Source Flexible Constrained Interaction Testing for Practical Application
本文介绍了学术界和工业界之间的研究合作的成果,以实现和利用工业规模应用的开源工具的约束交互测试的能力。该项目有助于提高生成约束交互测试套件、执行它们以及设置测试Oracle来报告它们的灵活性--所有这些都在同一个名为Avocado的工具中。Avocado采用约束求解器和计算算法来生成约束交互测试套件。被测应用程序的环境可以设置为以最小的工作量执行生成的测试套件。该工具可以设置一个测试预言机来报告执行的测试用例的状态和结果。Avocado代表了一种全面而灵活的解决方案,用于在工业应用中进行组合交互测试(CIT)和约束CIT。在本文中,我们提出了该工具的结构和我们的方法来实现算法的详细。
2020-02-02 cs.SE
Automated Testing of Prevalent 3D User Interactions in Virtual Reality Applications
The University of Sheffield(谢菲尔德大学)
本文提出XRintTest方法,通过交互流程图实现VR应用中常见3D用户交互的自动化测试,提升测试效率和覆盖率。
2026-01-30 cs.SE
An Evaluation of Monte Carlo-Based Hyper-Heuristic for Interaction Testing of Industrial Embedded Software Applications
超启发式算法是一种新的自适应混合元启发式算法,以获得一个通用的算法来解决优化问题。这项工作的重点是选择类型的超启发式,称为指数蒙特卡罗计数器(EMCQ)。当前实现依赖于无记忆选择,这可能是适得其反的,因为所选择的搜索运算符可能(历史上)不是当前搜索实例的最佳执行运算符。为了解决这个问题,我们建议将内存集成到EMCQ中,使用基于Q学习机制的强化学习(称为Q-EMCQ)进行组合t-wise测试集生成。组合测试生成在工业程序中的有限应用可能会影响Q-EMCQ等技术的使用。因此,有必要针对相关的工业软件评估这种方法,目的是显示覆盖代码以及查找错误所需的交互程度。我们将Q-EMCQ应用于37个用功能框图(FBD)语言编写的实际工业程序,这些程序用于在Bombardier Transportation Sweden AB开发训练控制管理系统。研究结果表明,Q-EMCQ是一种有效的测试用例生成技术。此外,与处理最小化问题的t-明智测试集生成不同,我们还将Q-EMCQ进行了涉及一般模块聚类的最大化问题,以证明我们方法的有效性。
2020-02-18 cs.SE
Workshop Summary of the 1st International Workshop on Requirements and Testing (RET'14)
RET研讨会的主要目标是探索需求工程(RE)和测试(即RET)在研究和工业中的相互作用,以及这种相互作用带来的挑战。虽然在需求工程和测试的各个领域已经做了很多工作,但要理解RE和测试过程之间的联系,还需要做更多的工作。
2014-10-10 cs.SE
Finding minimum locating arrays using a CSP solver
组合交互测试是一种有效的软件测试策略。如果需要覆盖测试参数或因素之间的所有交互,那么所需测试套件的大小将非常大。相比之下,该策略仅需要覆盖$t$类交互,其中$t$通常非常小。因此,可以显著地减少测试套件的大小。定位阵列的目的是提高组合互作测试的能力。特别地,$(\overline{1}, t)$定位阵列不仅可以执行所有$t$路交互,而且还可以识别(如果有的话)哪个交互导致故障。尽管这个有用的属性,只有有限的研究,无论是如何产生定位数组或其最小尺寸。在本文中,我们提出了一种方法来产生最小定位数组。在该方法中,找到一个定位阵列组成的$N$测试的问题表示为一个约束满足问题(CSP)的实例,这反过来又解决了现代CSP求解器。使用所提出的方法的结果揭示了许多$(\overline{1}, t)$定位阵列是迄今为止已知的最小的。此外,还证明了其中一些阵列是最小的.
2019-04-16 cs.DM cs.SE
Intelligent Agent-Based Stimulation for Testing Robotic Software in Human-Robot Interactions
University of Bristol(布里斯托大学);University of the West of England(西英格兰大学)
机器人软件测试的挑战超出了传统的软件测试。需要为并发运行的多个程序和硬件生成有效、真实和有趣的测试,并将其部署到有人员的动态环境中。我们调查使用的信念-欲望-意图(BDI)代理作为测试生成模型,在域中的人-机器人交互(HRI)的模拟。这些模型提供了合理的代理,因果关系和推理机制,用于规划,模拟智能和自适应机器人,以及由人类指导的智能测试环境。我们引入了强化学习(RL),使用基于覆盖反馈的奖励函数来自动探索BDI模型。我们的方法进行评估,使用协同制造的例子,在测试中的机器人软件是间接刺激通过一个模拟的人类同事。我们得出结论,BDI代理提供了直观的模型,在HRI域的测试生成。我们的研究结果表明,RL可以完全自动化BDI模型探索,导致非常有效的覆盖导向测试生成。
2016-07-13 cs.RO cs.SE