A Characteristic Study of Parameterized Unit Tests in .NET Open Source Projects

Wing Lam, Siwakorn Srisakaokul, Blake Bassett, P. Mahdian, Tao Xie, Pratap Lakshman, J. D. Halleux
{"title":"A Characteristic Study of Parameterized Unit Tests in .NET Open Source Projects","authors":"Wing Lam, Siwakorn Srisakaokul, Blake Bassett, P. Mahdian, Tao Xie, Pratap Lakshman, J. D. Halleux","doi":"10.4230/LIPIcs.ECOOP.2018.5","DOIUrl":null,"url":null,"abstract":"In the past decade, parameterized unit testing has emerged as a promising method to specify program behaviors under test in the form of unit tests. Developers can write parameterized unit tests (PUTs), unit-test methods with parameters, in contrast to conventional unit tests, without parameters. The use of PUTs can enable powerful test generation tools such as Pex to have strong test oracles to check against, beyond just uncaught runtime exceptions. In addition, PUTs have been popularly supported by various unit testing frameworks for .NET and the JUnit framework for Java. However, there exists no study to offer insights on how PUTs are written by developers in either proprietary or open source development practices, posing barriers for various stakeholders to bring PUTs to widely adopted practices in software industry. To fill this gap, we first present categorization results of the Microsoft MSDN Pex Forum posts (contributed primarily by industrial practitioners) related to PUTs. We then use the categorization results to guide the design of the first characteristic study of PUTs in .NET open source projects. We study hundreds of PUTs that open source developers wrote for these open source projects. Our study findings provide valuable insights for various stakeholders such as current or prospective PUT writers (e.g., developers), PUT framework designers, test-generation tool vendors, testing researchers, and testing educators.","PeriodicalId":172012,"journal":{"name":"European Conference on Object-Oriented Programming","volume":"124 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"European Conference on Object-Oriented Programming","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4230/LIPIcs.ECOOP.2018.5","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

In the past decade, parameterized unit testing has emerged as a promising method to specify program behaviors under test in the form of unit tests. Developers can write parameterized unit tests (PUTs), unit-test methods with parameters, in contrast to conventional unit tests, without parameters. The use of PUTs can enable powerful test generation tools such as Pex to have strong test oracles to check against, beyond just uncaught runtime exceptions. In addition, PUTs have been popularly supported by various unit testing frameworks for .NET and the JUnit framework for Java. However, there exists no study to offer insights on how PUTs are written by developers in either proprietary or open source development practices, posing barriers for various stakeholders to bring PUTs to widely adopted practices in software industry. To fill this gap, we first present categorization results of the Microsoft MSDN Pex Forum posts (contributed primarily by industrial practitioners) related to PUTs. We then use the categorization results to guide the design of the first characteristic study of PUTs in .NET open source projects. We study hundreds of PUTs that open source developers wrote for these open source projects. Our study findings provide valuable insights for various stakeholders such as current or prospective PUT writers (e.g., developers), PUT framework designers, test-generation tool vendors, testing researchers, and testing educators.
.NET开源项目中参数化单元测试的特点研究
在过去的十年中,参数化单元测试作为一种很有前途的方法以单元测试的形式来指定被测试的程序行为。开发人员可以编写参数化单元测试(put),即带参数的单元测试方法,与不带参数的常规单元测试相反。使用put可以使强大的测试生成工具(如Pex)拥有强大的测试oracle来进行检查,而不仅仅是未捕获的运行时异常。此外,put已经得到了各种。net单元测试框架和Java JUnit框架的广泛支持。然而,目前还没有研究提供关于开发人员如何在专有或开源开发实践中编写put的见解,这为各种涉众将put引入软件行业中广泛采用的实践设置了障碍。为了填补这一空白,我们首先展示了Microsoft MSDN Pex论坛上与put相关的帖子(主要由行业从业者贡献)的分类结果。然后,我们使用分类结果来指导。net开源项目中put的第一个特征研究的设计。我们研究了开源开发人员为这些开源项目编写的数百个put。我们的研究结果为各种利益相关者提供了有价值的见解,例如当前或未来的PUT作者(例如,开发人员)、PUT框架设计人员、测试生成工具供应商、测试研究人员和测试教育者。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信