当前位置: X-MOL 学术Appl. Soft Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Extracting Combinatorial Test parameters and their values using model checking and evolutionary algorithms
Applied Soft Computing ( IF 7.2 ) Pub Date : 2020-03-19 , DOI: 10.1016/j.asoc.2020.106219
Sajad Esfandyari , Vahid Rafe

Combinatorial Testing (CT) is one of the popular testing approaches for generating a minimum test suite to detect defects caused by interactions between subsystems. One of the most practical CT methods is the Covering Array (CA). While generating CA, there are at least two main groups of challenges. The first one is extracting information about parameters, identifying constraints and detecting interactions between subsystems automatically. In most of the existing approaches, this information is fed to the system manually which makes it difficult or even impossible for testing modern software systems. The second one is the speed and the array size. Even though most of the existing approaches are concentrated on this challenge, their results show that there is still room for improvement. In this paper, we propose an idea to cope with both challenges. At first, we represent a method to extract information about the system under test (SUT) from its model using model checking (MC) techniques. MC is a method that scans all possible states of the system for detecting errors. After that, we propose another new approach using genetic algorithm to generate the optimal CA in terms of speed and size. To evaluate the results, we implemented the proposed strategy along with several other metaheuristic algorithms in the GROOVE tool, an open toolset for designing and model checking graph transformation specifications. The results represent that the proposed strategy performs better than others.



中文翻译:

使用模型检查和进化算法提取组合测试参数及其值

组合测试(CT)是一种流行的测试方法,用于生成最小测试套件以检测由子系统之间的交互作用引起的缺陷。最实用的CT方法之一是Covering Array(CA)。生成CA时,至少有两个主要挑战组。第一个是提取有关参数的信息,识别约束并自动检测子系统之间的交互。在大多数现有方法中,此信息是手动输入到系统的,这使得测试现代软件系统非常困难甚至无法实现。第二个是速度和数组大小。即使大多数现有方法都集中在这一挑战上,它们的结果表明仍有改进的空间。在本文中,我们提出了应对两种挑战的想法。首先,我们介绍一种使用模型检查(MC)技术从其模型中提取有关被测系统(SUT)信息的方法。MC是一种扫描系统所有可能状态以检测错误的方法。之后,我们提出了另一种使用遗传算法来生成速度和大小方面最优的CA的新方法。为了评估结果,我们在GROOVE工具中实施了所提出的策略以及其他几种元启发式算法,GROOVE工具是用于设计和模型检查图形转换规范的开放式工具集。结果表明,所提出的策略比其他策略表现更好。MC是一种扫描系统所有可能状态以检测错误的方法。之后,我们提出了另一种使用遗传算法来生成速度和大小方面最优的CA的新方法。为了评估结果,我们在GROOVE工具中实施了所提出的策略以及其他几种元启发式算法,GROOVE工具是用于设计和模型检查图形转换规范的开放式工具集。结果表明,所提出的策略比其他策略表现更好。MC是一种扫描系统所有可能状态以检测错误的方法。之后,我们提出了另一种使用遗传算法来生成速度和大小方面最优的CA的新方法。为了评估结果,我们在GROOVE工具中实施了所提出的策略以及其他几种元启发式算法,GROOVE工具是用于设计和模型检查图形转换规范的开放式工具集。结果表明,所提出的策略比其他策略表现更好。

更新日期:2020-03-19
down
wechat
bug