Dependent-test-aware regression testing techniques

Dependent-test-aware regression testing techniques
复制标题

依赖测试感知回归测试技术

DOI:
10.1145/3395363.3397364
复制
发表时间:
2020
期刊:
ACM International Symposium on Software Testing and Analysis (ISSTA 2020
影响因子:
--
通讯作者:
Xie, Tao
Xie, Tao
中科院分区:
--
文献类型:
--
作者:
Lam, Wing;Shi, August;Oei, Reed;Zhang, Sai;Ernst, Michael D.;Xie, Tao

文献摘要

参考文献

被引文献

相似文献

开发人员通常依赖于回归测试技术来确保他们的更改不会破坏现有功能。不幸的是,这些技术受到重复测试的影响,在同一版本的代码和测试上多次运行时,重复测试既可能通过,也可能失败。顺序相关(OD)测试是一种重要的顺序相关测试,这种测试在以一种顺序运行时通过,但在以另一种顺序运行时失败。尽管OD测试可能会导致漏洞测试失败,但OD测试可以通过允许开发人员共享资源来帮助他们更快地运行测试。为了理解依赖测试感知回归测试技术的必要性,我们首先研究了OD测试对三种回归测试技术(测试优先级、测试选择和测试并行化)的影响。特别是,我们实现了4个测试优先级,6个测试选择,和2个测试并行化算法,我们评估他们对11个Java模块OD测试。当我们运行传统的,依赖测试不知道回归测试算法产生的订单,82%的人写的测试套件和100%的自动生成的测试套件与OD测试至少有一个flaky-test failure.We开发了一个通用的方法来增强回归测试算法,使他们依赖测试,感知,并将我们的方法应用到12个算法。与传统的未增强的回归测试算法相比,增强的算法使用提供的测试依赖关系来产生具有不同排列或额外测试的订单。我们的评估表明,与未增强算法产生的订单相比,增强算法产生的订单(1)由于OD测试而导致的整体片状测试失败减少了80%,(2)可能会增加额外的测试,但平均运行速度仅慢1%。我们的研究结果表明,增强回归测试算法的依赖测试意识,可以大大减少片状测试失败,只有轻微的放缓运行测试。
Developers typically rely on regression testing techniques to ensure that their changes do not break existing functionality. Unfortunately, these techniques suffer from flaky tests, which can both pass and fail when run multiple times on the same version of code and tests. One prominent type of flaky tests is order-dependent (OD) tests, which are tests that pass when run in one order but fail when run in another order. Although OD tests may cause flaky-test failures, OD tests can help developers run their tests faster by allowing them to share resources. We propose to make regression testing techniques dependent-test-aware to reduce flaky-test failures.To understand the necessity of dependent-test-aware regression testing techniques, we conduct the first study on the impact of OD tests on three regression testing techniques: test prioritization, test selection, and test parallelization. In particular, we implement 4 test prioritization, 6 test selection, and 2 test parallelization algorithms, and we evaluate them on 11 Java modules with OD tests. When we run the orders produced by the traditional, dependent-test-unaware regression testing algorithms, 82% of human-written test suites and 100% of automatically-generated test suites with OD tests have at least one flaky-test failure.We develop a general approach for enhancing regression testing algorithms to make them dependent-test-aware, and apply our approach to 12 algorithms. Compared to traditional, unenhanced regression testing algorithms, the enhanced algorithms use provided test dependencies to produce orders with different permutations or extra tests. Our evaluation shows that, in comparison to the orders produced by unenhanced algorithms, the orders produced by enhanced algorithms (1) have overall 80% fewer flaky-test failures due to OD tests, and (2) may add extra tests but run only 1% slower on average. Our results suggest that enhancing regression testing algorithms to be dependent-test-aware can substantially reduce flaky-test failures with only a minor slowdown to run the tests.
测试分析:寻找测试中的故障(N)
DOI: --
发表时间: 2015
期刊: International Conference on Automated Software Engineering
影响因子: --
作者:
M. Waterloo;Suzette Person;Sebastian G. Elbaum
通讯作者: Sebastian G. Elbaum
Nemo:使用整数非线性规划的多标准测试套件最小化
DOI: --
发表时间: 2018
期刊: International Conference on Software Engineering
影响因子: --
作者:
Jun;Reyhaneh Jabbarvand;Joshua Garcia;S. Malek
通讯作者: S. Malek
通过数据流剪切进行基于语言的重播
DOI: --
发表时间: 2010
期刊: Fast Software Encryption Workshop
影响因子: --
作者:
Ming Wu;Fan Long;Xi Wang;Zhilei Xu;Haoxiang Lin;Xuezheng Liu;Zhenyu Guo;Huayang Guo;Lidong Zhou;Zheng Zhang
通讯作者: Zheng Zhang
检测、隔离和强制测试用例之间和内部的依赖关系
DOI: --
发表时间: 2014
期刊: SIGSOFT FSE
影响因子: --
作者:
Jonathan Bell
通讯作者: Jonathan Bell
DOI: --
发表时间: 2011
期刊: 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation
影响因子: --
作者:
Agastya Nanda;Senthil Mani;S. Sinha;M. J. Harrold;A. Orso
通讯作者: A. Orso