Finding bugs by isolating unit tests

Finding bugs by isolating unit tests
复制标题

通过隔离单元测试来查找错误

DOI:
--
复制
发表时间:
2011
期刊:
ESEC/FSE '11
影响因子:
--
通讯作者:
Jochen Wuttke
Jochen Wuttke
中科院分区:
--
文献类型:
--
作者:
Kivanç Muslu;B. Soran;Jochen Wuttke

文献摘要

被引文献

相似文献

即使在简单的程序中,单位之间也存在隐藏的假设和依赖关系,这些假设和依赖性在每个相关单元中都不可见。这些依赖性通常很难识别和定位,并且可能会导致通常会错过的微妙缺陷,即使是通过广泛的测试套件也是如此。 我们建议利用现有的测试套件来确定由于隐藏的依赖性而导致的故障,并确定测试套件设计不足。我们不仅会在Junit等框架内执行整个测试套件,还可以隔离执行每个测试,从而消除测试套件中可能存在的掩蔽效果。我们假设这可以揭示程序单位或测试之间的先前隐藏的依赖关系。 一项初步研究表明,尽管报告了失败并试图解决故障,但该技术能够识别出在系统中生存的微妙故障。
Even in simple programs there are hidden assumptions and dependencies between units that are not immediately visible in each involved unit. These dependencies are generally hard to identify and locate, and can lead to subtle faults that are often missed, even by extensive test suites. We propose to leverage existing test suites to identify faults due to hidden dependencies and to identify inadequate test suite design. Rather than just executing entire test suites within frameworks such as JUnit, we execute each test in isolation, thus removing masking effects that might be present in the test suites. We hypothesize that this can reveal previously hidden dependencies between program units or tests. A preliminary study shows that this technique is capable of identifying subtle faults that have lived in a system for 120 revisions, despite failures being reported and despite attempts to fix the fault.