Dependent-test-aware regression testing techniques
Dependent-test-aware regression testing techniques
复制标题
依赖测试感知回归测试技术
DOI:
10.1145/3395363.3397364
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Xie, Tao
中科院分区:
文献类型:
--
作者:
Lam, Wing;Shi, August;Oei, Reed;Zhang, Sai;Ernst, Michael D.;Xie, Tao
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.
登录
查看更多内容
DOI:
--
发表时间:
2015
期刊:
International Conference on Automated Software Engineering
影响因子:
--
作者:
M. Waterloo;Suzette Person;Sebastian G. Elbaum
通讯作者:
Sebastian G. Elbaum
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