当前位置: X-MOL 学术Empir. Software Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Automated test reuse for highly configurable software
Empirical Software Engineering ( IF 4.1 ) Pub Date : 2020-09-16 , DOI: 10.1007/s10664-020-09884-x
Stefan Fischer , Gabriela Karoline Michelon , Rudolf Ramler , Lukas Linsbauer , Alexander Egyed

Dealing with highly configurable systems is generally very complex. Researchers and practitioners have conceived hundreds of different analysis techniques to deal with different aspects of configurable systems. One large focal point is the testing of configurable software. This is challenging due to the large number of possible configurations. Moreover, tests themselves are rarely configurable and instead built for specific configurations. However, existing tests need to be adapted to run on a different configuration. In this paper, we report on an experiment about automatically reusing existing tests in configurable systems. We used manually developed tests for specific configurations of three configurable systems and investigated how changing the configuration affects the tests. Subsequently, we employed an approach for automated reuse to generate new test variants (by reusing from existing ones) for combinations of previous configurations and compared their results to the ones from existing tests. Our results showed that we could directly reuse some tests for different configurations. Nonetheless, our automatically generated test variants generally yielded better results. Our generated tests had a higher or equal success rate to the existing tests in most cases. Even in the cases the success rate was equal, our generated tests generally had higher code coverage.

中文翻译:

高度可配置软件的自动化测试重用

处理高度可配置的系统通常非常复杂。研究人员和从业者已经构思了数百种不同的分析技术来处理可配置系统的不同方面。一大重点是可配置软件的测试。由于大量可能的配置,这具有挑战性。此外,测试本身很少是可配置的,而是为特定配置而构建的。但是,需要调整现有测试以在不同的配置上运行。在本文中,我们报告了有关在可配置系统中自动重用现有测试的实验。我们对三个可配置系统的特定配置使用了手动开发的测试,并研究了更改配置如何影响测试。随后,我们采用了一种自动重用的方法来为先前配置的组合生成新的测试变体(通过重用现有的),并将它们的结果与现有测试的结果进行比较。我们的结果表明,我们可以直接为不同的配置重用一些测试。尽管如此,我们自动生成的测试变体通常会产生更好的结果。在大多数情况下,我们生成的测试的成功率高于或等于现有测试的成功率。即使在成功率相等的情况下,我们生成的测试通常具有更高的代码覆盖率。我们自动生成的测试变体通常会产生更好的结果。在大多数情况下,我们生成的测试的成功率高于或等于现有测试的成功率。即使在成功率相等的情况下,我们生成的测试通常具有更高的代码覆盖率。我们自动生成的测试变体通常会产生更好的结果。在大多数情况下,我们生成的测试的成功率高于或等于现有测试的成功率。即使在成功率相等的情况下,我们生成的测试通常具有更高的代码覆盖率。
更新日期:2020-09-16
down
wechat
bug