Unit testing is an essential component of the software development life-cycle. A developer could easily and quickly catch and fix software faults introduced in the source code by creating and running unit tests. Despite their importance, unit tests are subject to bad design or implementation decisions, the so-called test smells. These might decrease software systems quality from various aspects, making it harder to understand, more complex to maintain, and more prone to errors and bugs. Many studies discuss the likely effects of test smells on test code. However, there is a lack of studies that capture developers perceptions of such issues. This study empirically analyzes how developers perceive the severity of test smells in the test code they develop. Severity refers to the degree to how a test smell may negatively impact the test code. We selected six open-source software projects from GitHub and interviewed their developers to understand whether and how the test smells affected the test code. Although most of the interviewed developers considered the test smells as having a low severity to their code, they indicated that test smells might negatively impact the project, particularly in test code maintainability and evolution. Also, detecting and removing test smells from the test code may be positive for the project.


翻译:单位测试是软件开发生命周期的一个基本组成部分。 开发者可以通过创建和运行单位测试,轻而易举地捕获和修补源代码中引入的软件错误。 尽管单位测试很重要, 其设计或执行决定有问题, 所谓的测试气味。 这可能从各方面降低软件系统的质量, 使软件系统更难理解, 更复杂地维持, 更容易出现错误和错误。 许多研究讨论了测试气味对测试代码的可能影响。 但是, 缺乏能够捕捉开发者对此类问题的认知的研究。 本研究对开发者如何看待测试代码中测试气味的严重性进行了经验分析。 严格性是指测试气味可能对测试代码产生消极影响的程度。 我们从吉特赫布挑选了6个开放源软件项目, 并采访了他们的开发者, 以了解测试气味是否以及如何影响测试代码。 尽管大多数接受采访的开发者认为测试气味对其代码的强度较低, 测试气味可能会对项目产生消极影响, 特别是在测试代码的维持和演变方面。 此外, 从测试代码中检测和清除测试气味可能对项目产生积极性。

0
下载
关闭预览

相关内容

专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
151+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
计算机视觉的不同任务
专知
5+阅读 · 2018年8月27日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
ResNet, AlexNet, VGG, Inception:各种卷积网络架构的理解
全球人工智能
19+阅读 · 2017年12月17日
Arxiv
38+阅读 · 2021年8月31日
VIP会员
相关VIP内容
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
计算机视觉的不同任务
专知
5+阅读 · 2018年8月27日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
ResNet, AlexNet, VGG, Inception:各种卷积网络架构的理解
全球人工智能
19+阅读 · 2017年12月17日
Top
微信扫码咨询专知VIP会员