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.
翻译:多年来,自动生成软件测试案例一直是一个积极的研究主题。 虽然当前工具可以产生强大的回归或崩溃复制测试案例, 但这些案例往往与维护的测试套件分开。 在本文中, 我们利用开发者熟悉现有手工写成的开发者测试案例的优势。 从开发者在以往研究中报告的问题开始, 我们调查哪些方面对设计开发者中心测试放大法很重要, 提供由开发者接管到测试套件的测试案例。 我们与软件开发者进行了16次半结构化访谈, 并得到我们开发者中心测试放大法的原型设计以及相应的测试探索工具的支持。 我们扩展了测试放大工具 DSpoot 工具, 生成了更容易理解的测试案例。 我们的Intellij 插件测试立方授权开发者从他们熟悉的环境探索放大的测试案例。 我们从访谈中收集了52项意见, 我们将其总结为23个结果类别, 并就未来工具设计者如何使其工具更适合开发以中心为中心的测试放大提出两项关键建议 。