【24h】

Learning to Predict Software Testability

机译:学习预测软件可测试性

获取原文

摘要

Software testability is the propensity of code to reveal its existing faults, particularly during automated testing. Testing success depends on the testability of the program under test. On the other hand, testing success relies on the coverage of the test data provided by a given test data generation algorithm. However, little empirical evidence has been shown to clarify whether and how software testability affects test coverage. In this article, we propose a method to shed light on this subject. Our proposed framework uses the coverage of Software Under Test (SUT), provided by different automatically generated test suites, to build machine learning models, determining the testability of programs based on many source code metrics. The resultant models can predict the code coverage provided by a given test data generation algorithm before running the algorithm, reducing the cost of additional testing. The predicted coverage is used as a concrete proxy to quantify source code testability. Experiments show an acceptable accuracy of 81.94% in measuring and predicting software testability.
机译:软件可测试性是揭示其现有故障的代码倾向,特别是在自动化测试期间。测试成功取决于正在测试的程序的可测试性。另一方面,测试成功依赖于由给定的测试数据生成算法提供的测试数据的覆盖范围。但是,已经证明了很少的经验证据来澄清软件可测试性如何影响测试覆盖范围。在本文中,我们提出了一种在这个主题上阐明的方法。我们所提出的框架使用由不同自动生成的测试套件提供的测试软件(SUT)的覆盖范围,以构建机器学习模型,根据许多源代码度量确定程序的可测试性。在运行算法之前,所得到的模型可以预测由给定的测试数据生成算法提供的代码覆盖,降低了额外测试的成本。预测的覆盖范围用作量化源代码可测试性的具体代理。实验表明,测量和预测软件可测试性的可接受精度为81.94%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号