arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2108.12249cs.SE
收藏

自动生成与人类探索之间的相互作用

Developer-Centric Test Amplification The Interplay Between Automatic Generation and Human Exploration

Carolin Brandt, Andy Zaidman

摘要:

软件测试用例的自动生成是一个非常活跃的研究课题。虽然当前的工具可以生成强大的回归或崩溃再现测试用例,但这些测试用例通常与维护的测试套件分开保存。在本文中,我们利用开发人员对现有的手动编写的开发人员测试中放大的测试用例的熟悉程度。从开发人员在以前的研究中报告的问题开始,我们调查了哪些方面是重要的设计一个以开发人员为中心的测试放大方法,提供测试用例,由开发人员接管到他们的测试套件。我们进行了16个半结构化的采访与软件开发人员支持我们的原型设计的以开发人员为中心的测试放大方法和相应的测试探索工具。我们扩展了测试放大工具DSpot,生成更容易理解的测试用例。我们的IntelliJ插件TestCube使开发人员能够从他们熟悉的环境中探索放大的测试用例。从我们的访谈中,我们收集了52个观察结果,总结为23个结果类别,并就未来的工具设计师如何使他们的工具更适合以开发人员为中心的测试放大给出了两个关键建议。

英文摘要:

Automatically generating test cases for software has been an active research topic for many years. While current tools can generate powerful regression or crash-reproducing test cases, these are often kept separately from the maintained test suite. In this paper, we leverage the developer's familiarity with test cases amplified from existing, manually written developer tests. Starting from issues reported by developers in previous studies, we investigate what aspects are important to design a developer-centric test amplification approach, that provides test cases that are taken over by developers into their test suite. We conduct 16 semi-structured interviews with software developers supported by our prototypical designs of a developer-centric test amplification approach and a corresponding test exploration tool. We extend the test amplification tool DSpot, generating test cases that are easier to understand. Our IntelliJ plugin TestCube empowers developers to explore amplified test cases from their familiar environment. From our interviews, we gather 52 observations that we summarize into 23 result categories and give two key recommendations on how future tool designers can make their tools better suited for developer-centric test amplification.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑