Mitigating the effects of flaky tests on mutation testing

Mitigating the effects of flaky tests on mutation testing
复制标题

减轻片状测试对突变测试的影响

DOI:
10.1145/3293882.3330568
复制
发表时间:
2019
期刊:
ISSTA 2019 Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis
影响因子:
--
通讯作者:
Marinov, Darko
Marinov, Darko
中科院分区:
--
文献类型:
--
作者:
Shi, August;Bell, Jonathan;Marinov, Darko

文献摘要

参考文献

被引文献

相似文献

变异测试被广泛用于研究中,作为评估测试集质量的度量。突变测试在生成的突变体(被测代码的变体)上运行测试套件,如果在突变体上运行任何测试失败,则测试套件会杀死突变体。突变测试隐含地假设测试表现出确定性的行为,根据它们的覆盖率和测试(不)杀死某个突变体的结果。这样的假设在有重复测试的情况下不成立,即使在测试的同一代码上运行,重复测试的结果也可能不确定地不同。如果没有可靠的测试结果,突变测试可能会导致不可靠的结果,例如,在我们的实验中,重复执行之间的突变分数平均变化4个百分点,9%的突变测试对具有未知状态。许多现代软件项目都遭受过重复测试。我们提出了在整个突变测试过程中管理片状的技术,主要是基于战略重新运行测试。我们通过修改开源突变测试工具PIT来实现我们的技术。我们对30个项目的评估表明,我们的技术减少了79.4%的“未知”(未知)突变体的数量。
Mutation testing is widely used in research as a metric for evaluating the quality of test suites. Mutation testing runs the test suite on generated mutants (variants of the code under test), where a test suite kills a mutant if any of the tests fail when run on the mutant. Mutation testing implicitly assumes that tests exhibit deterministic behavior, in terms of their coverage and the outcome of a test (not) killing a certain mutant. Such an assumption does not hold in the presence of flaky tests, whose outcomes can non-deterministically differ even when run on the same code under test. Without reliable test outcomes, mutation testing can result in unreliable results, e.g., in our experiments, mutation scores vary by four percentage points on average between repeated executions, and 9% of mutant-test pairs have an unknown status. Many modern software projects suffer from flaky tests. We propose techniques that manage flakiness throughout the mutation testing process, largely based on strategically re-running tests. We implement our techniques by modifying the open-source mutation testing tool, PIT. Our evaluation on 30 projects shows that our techniques reduce the number of "unknown" (flaky) mutants by 79.4%.
(Un-)覆盖等效突变体
DOI: --
发表时间: 2010
期刊: 2010 Third International Conference on Software Testing, Verification and Validation
影响因子: --
作者:
David Schuler;A. Zeller
通讯作者: A. Zeller
PIT:实用的 Java 突变测试工具(演示)
DOI: --
发表时间: 2016
期刊: International Symposium on Software Testing and Analysis
影响因子: --
作者:
Henry Coles;Thomas Laurent;Christopher Henard;Mike Papadakis;Anthony Ventresque
通讯作者: Anthony Ventresque
突变测试的工业应用:经验教训、挑战和研究方向
DOI: --
发表时间: 2018
期刊: International Conference on Software Testing, Verification and Validation Workshops
影响因子: --
作者:
Goran Petrović;M. Ivankovic;Bob Kurtz;P. Ammann;René Just
通讯作者: René Just
测试气味的重构是否会导致修复片状测试?
DOI: --
发表时间: 2017
期刊: IEEE International Conference on Software Maintenance and Evolution
影响因子: --
作者:
Fabio Palomba;A. Zaidman
通讯作者: A. Zaidman
DOI: --
发表时间: 2017
期刊:
影响因子: --
作者:
John Micco
通讯作者: John Micco