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

开发人员如何设计测试用例:一项观察性研究

How Developers Engineer Test Cases: An Observational Study

Maurício Aniche, Christoph Treude, Andy Zaidman

摘要:

开发人员在测试他们的系统时面临的主要挑战之一在于工程测试用例足以揭示错误。虽然我们在软件测试和自动化测试用例生成方面的知识体系已经相当重要,但在实践中,开发人员仍然负责手动设计测试用例。因此,在设计测试用例时理解开发人员的思想和决策过程是使开发人员更好地测试软件的基本步骤。在本文中,我们观察了13名开发人员在测试不同的现实世界开源方法时大声思考,并使用这些观察来解释开发人员如何设计测试用例。然后,我们通过调查72名软件开发人员的测试实践来挑战和增强我们的主要发现。我们从三个不同的角度讨论我们的结果。首先,我们提出了一个通用框架,解释了开发人员如何进行测试。其次,我们提出并详细描述了开发人员在测试时应用的三种不同的总体策略。第三,我们将我们的观察结果与现有的知识体系进行比较和联系,并提出未来的研究,以提高我们对这一主题的认识。

英文摘要:

One of the main challenges that developers face when testing their systems lies in engineering test cases that are good enough to reveal bugs. And while our body of knowledge on software testing and automated test case generation is already quite significant, in practice, developers are still the ones responsible for engineering test cases manually. Therefore, understanding the developers' thought- and decision-making processes while engineering test cases is a fundamental step in making developers better at testing software. In this paper, we observe 13 developers thinking-aloud while testing different real-world open-source methods, and use these observations to explain how developers engineer test cases. We then challenge and augment our main findings by surveying 72 software developers on their testing practices. We discuss our results from three different angles. First, we propose a general framework that explains how developers reason about testing. Second, we propose and describe in detail the three different overarching strategies that developers apply when testing. Third, we compare and relate our observations with the existing body of knowledge and propose future studies that would advance our knowledge on the topic.

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

↑