首页> 外文会议>2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering in Practice Track >An Industrial Evaluation of Unit Test Generation: Finding Real Faults in a Financial Application
【24h】

An Industrial Evaluation of Unit Test Generation: Finding Real Faults in a Financial Application

机译:单元测试生成的工业评估:发现财务应用程序中的实际故障

获取原文
获取原文并翻译 | 示例

摘要

Automated unit test generation has been extensively studied in the literature in recent years. Previous studies on open source systems have shown that test generation tools are quite effective at detecting faults, but how effective and applicable are they in an industrial application? In this paper, we investigate this question using a life insurance and pension products calculator engine owned by SEB Life & Pension Holding AB Riga Branch. To study fault-finding effectiveness, we extracted 25 real faults from the version history of this software project, and applied two up-to-date unit test generation tools for Java, EVOSUITE and RANDOOP, which implement search-based and feedback-directed random test generation, respectively. Automatically generated test suites detected up to 56.40% (EVOSUITE) and 38.00% (RANDOOP) of these faults. The analysis of our results demonstrates challenges that need to be addressed in order to improve fault detection in test generation tools. In particular, classification of the undetected faults shows that 97.62% of them depend on either "specific primitive values" (50.00%) or the construction of "complex state configuration of objects" (47.62%). To study applicability, we surveyed the developers of the application under test on their experience and opinions about the test generation tools and the generated test cases. This leads to insights on requirements for academic prototypes for successful technology transfer from academic research to industrial practice, such as a need to integrate with popular build tools, and to improve the readability of the generated tests.
机译:近年来,自动化的单元测试生成已在文献中得到了广泛的研究。以前对开源系统的研究表明,测试生成工具在检测故障方面非常有效,但是它们在工业应用中的有效性和适用性如何?在本文中,我们使用SEB Life&Pension Holding AB Riga Branch拥有的人寿保险和养老金产品计算器引擎来调查此问题。为了研究故障发现的有效性,我们从该软件项目的版本历史中提取了25条实际故障,并应用了两个针对Java的最新单元测试生成工具EVOSUITE和RANDOOP,它们实现了基于搜索和反馈导向的随机测试生成。自动生成的测试套件最多可检测到这些故障中的56.40%(EVOSUITE)和38.00%(RANDOOP)。我们对结果的分析表明,为了改善测试生成工具中的故障检测,需要解决的挑战。特别地,未检测到的故障的分类显示,其中97.62%的故障取决于“特定原始值”(50.00%)或“对象的复杂状态配置”的构造(47.62%)。为了研究适用性,我们对测试中的应用程序的开发人员进行了调查,以了解他们对测试生成工具和生成的测试用例的经验和看法。这导致对成功将技术从学术研究转移到工业实践的学术原型的需求有深刻的见解,例如需要与流行的构建工具集成,以及提高生成的测试的可读性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号