Evolution-aware detection of order-dependent flaky tests

Evolution-aware detection of order-dependent flaky tests
复制标题

顺序相关片状测试的进化感知检测

DOI:
10.1145/3533767.3534404
复制
发表时间:
2022
期刊:
31st ACM SIGSOFT International Symposium on Software Testing and Analysis
影响因子:
--
通讯作者:
Shi, August
Shi, August
中科院分区:
--
文献类型:
--
作者:
Li, Chengpeng;Shi, August

文献摘要

参考文献

被引文献

相似文献

回归测试是软件开发过程中的重要组成部分,但由于存在重复测试而受到影响。不稳定测试是不确定地通过或失败的测试,而不管代码的变化。顺序相关的随机测试是一种重要的随机测试,其结果取决于测试的运行顺序。以前的工作主要集中在通过在单个代码版本上以不同的测试顺序重新运行所有测试来检测依赖于顺序的重复测试。由于代码是不断变化的,在每次更改后以不同的测试顺序重新运行所有测试的成本很高。 在这项工作中,我们提出了IncIDFlakies,一种技术来检测顺序相关的随机测试,通过分析代码的变化,以检测新引入的顺序相关的随机测试,由于这些变化。基于iDFlakies中以不同测试顺序重新运行测试的现有工作,IncIDFlakies分析并选择仅运行以下测试:(1)受更改影响,以及(2)由于潜在的共享状态可能导致彼此之间的测试顺序依赖性。在67个顺序相关的重复测试中运行IncIDFlakies,这些测试跨越了各自项目中代码的更改,包括它们成为重复测试的更改,我们发现IncIDFlakies可以选择运行平均65.4%的所有测试,从而在运行完整测试套件的相同数量的测试顺序时,运行基线iDFlakies所用时间的68.4%。此外,我们发现IncIDFlakies仍然可以确保它运行的测试顺序可以潜在地检测到顺序依赖的重复测试。
Regression testing is an important part of the software development process but suffers from the presence of flaky tests. Flaky tests are tests that can nondeterministically pass or fail regardless of code changes. Order-dependent flaky tests are a prominent kind of flaky tests whose outcome depends on the test order in which they are run. Prior work has focused on detecting order-dependent flaky tests through rerunning all tests in different test orders on a single version of code. As code is constantly changing, rerunning all tests in different test orders after every change is costly. In this work, we propose IncIDFlakies, a technique to detect order-dependent flaky tests by analyzing code changes to detect newly-introduced order-dependent flaky tests due to those changes. Building upon existing work in iDFlakies that reruns tests in dif- ferent test orders, IncIDFlakies analyzes and selects to run only the tests that (1) are affected by the change, and (2) can potentially result in a test-order dependency among each other due to potential shared state. Running IncIDFlakies on 67 order-dependent flaky tests across changes in code in their respective projects, including the changes where they became flaky, we find that IncIDFlakies can select to run on average 65.4% of all the tests, resulting in running 68.4% of the time that baseline iDFlakies would use when running the same number of test orders with the full test suite. Furthermore, we find that IncIDFlakies can still ensure that the test orders it runs can potentially detect the order-dependent flaky tests.
DOI: 10.1145/3428270
发表时间: 2020-11
影响因子: --
作者:
Wing Lam;Stefan Winter;Anjiang Wei;Tao Xie;D. Marinov;Jonathan Bell
通讯作者: Wing Lam;Stefan Winter;Anjiang Wei;Tao Xie;D. Marinov;Jonathan Bell
DOI: 10.1109/icse.2019.00056
发表时间: 2019-05
期刊: 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
影响因子: --
作者:
Chenguang Zhu;Owolabi Legunsen;A. Shi;Miloš Gligorić
通讯作者: Chenguang Zhu;Owolabi Legunsen;A. Shi;Miloš Gligorić
DOI: 10.1109/icst.2019.00037
发表时间: 2019-04
期刊: 2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)
影响因子: --
作者:
Owolabi Legunsen;Yi Zhang;Milica Hadzi-Tanovic;Grigore Roşu;D. Marinov
通讯作者: Owolabi Legunsen;Yi Zhang;Milica Hadzi-Tanovic;Grigore Roşu;D. Marinov
DOI: 10.1145/3338906.3338925
发表时间: 2019-08
期刊: Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子: --
作者:
A. Shi;Wing Lam;Reed Oei;Tao Xie;D. Marinov
通讯作者: A. Shi;Wing Lam;Reed Oei;Tao Xie;D. Marinov
DOI: --
发表时间: 2020
期刊: IEEE International Conference on Software Maintenance and Evolution
影响因子: --
作者:
Denini Silva;Leopoldo Teixeira;Marcelo d’Amorim
通讯作者: Marcelo d’Amorim