Software testing ensures that a software system behaves as intended. In this paper, we propose to use production executions to improve the quality of testing for certain methods of interest for developers. We devise an approach called PANKTI which monitors applications as they execute in production, and then automatically generates differential unit tests from the collected data. We implement our tool for Java and evaluate it on three real-world, open-source projects: a videoconferencing system, a PDF manipulation library, and an e-commerce application. We show that PANKTI is able to generate differential unit tests by monitoring target methods in production, and that the generated tests improve the quality of the test suite of the application under consideration.
翻译:软件测试确保软件系统如预期的那样运行。 在本文中, 我们提议使用生产处决来提高开发者感兴趣的某些方法的测试质量。 我们设计了一种叫做 PANKTI 的方法, 用于监测生产过程中的应用, 然后自动生成从所收集的数据中产生的单位差异测试。 我们为 Java 应用了我们的工具, 并在三个真实世界的开放源码项目上进行了评估: 电视会议系统、 PDF 操作图书馆和电子商务应用。 我们显示, PANKTI 通过监测生产目标方法, 能够产生不同单位的测试, 产生的测试提高了所考虑的应用测试组的质量 。