【24h】

Will My Tests Tell Me If I Break This Code?

机译:我的测试是否会告诉我我是否违反此代码?

获取原文

摘要

Automated tests play an important role in software evolution because they can rapidly detect faults introduced during changes. In practice, code-coverage metrics are often used as criteria to evaluate the effectiveness of test suites with focus on regression faults. However, code coverage only expresses which portion of a system has been executed by tests, but not how effective the tests actually are in detecting regression faults. Our goal was to evaluate the validity of code coverage as a measure for test effectiveness. To do so, we conducted an empirical study in which we applied an extreme mutation testing approach to analyze the tests of open-source projects written in Java. We assessed the ratio of pseudo-tested methods (those tested in a way such that faults would not be detected) to all covered methods and judged their impact on the software project. The results show that the ratio of pseudo-tested methods is acceptable for unit tests but not for system tests (that execute large portions of the whole system). Therefore, we conclude that the coverage metric is only a valid effectiveness indicator for unit tests.
机译:自动化测试在软件演变中发挥着重要作用,因为它们可以快速检测在变化期间引入的故障。在实践中,代码覆盖度量通常用作评估测试套件的有效性的标准,重点是回归故障。但是,代码覆盖仅表达了测试的哪个部分已被测试执行,但不是测试实际上的效率如何在检测回归故障时。我们的目标是评估代码覆盖的有效性作为测试效果的措施。为此,我们进行了一个实证研究,我们应用了一个极端的突变测试方法,分析了在Java中编写的开源项目的测试。我们评估了伪测试方法的比率(以某种方式测试的那些)对所有涵盖的方法进行了测试,并判断他们对软件项目的影响。结果表明,单位测试可接受伪测试方法的比率,但不适用于系统测试(执行整个系统的大量部分)。因此,我们得出结论,覆盖度量仅是单位测试的有效效果指示器。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号