Test Amplification is a method to extend handwritten tests into a more rigorous test suite covering corner cases in the system under test. Unfortunately, the current state-of-the-art for test amplification heavily relies on program analysis techniques which benefit a lot from explicit type declarations present in statically typed languages like Java and C++. In dynamically typed languages, such type declarations are not available and as a consequence test amplification has yet to find its way to programming languages like Python, Ruby and Javascript. In this paper, we present AmPyfier, a proof-of-concept tool, which brings test amplification to the dynamically typed, interpreted language Python. We evaluated this approach on 7 open-source projects, and found that AmPyfier could successfully strengthen 7 out of 10 test classes (70%). As such we demonstrate that test amplification is feasible for one of the most popular programming languages in use today.


翻译:测试放大是将手写测试扩展为更严格测试套件以覆盖测试系统中角落案例的一种方法。 不幸的是,当前测试放大的最新技术在很大程度上依赖于程序分析技术,这些技术从静态打印语言(如爪哇语和C+++)的清晰类型声明中获益匪浅。 在动态输入的语言中,这种类型声明是不存在的,因此,测试放大尚未找到如何将Python语、Ruby语和Javascript语等语言编程的方法。在本文中,我们介绍了AmPyfier, 一种概念校准工具,它为动态键入的、解释的语言Python提供了测试放大。我们在7个开放源项目中评估了这一方法,发现AmPyfier可以成功地加强10个测试类中的7个(70%),因此,我们证明对当今使用的最流行的编程语言之一进行测试放大是可行的。

0
下载
关闭预览

相关内容

Python是一种面向对象的解释型计算机程序设计语言,在设计中注重代码的可读性,同时也是一种功能强大的通用型语言。
【2021新书】《用正确的方式学Python》,456页pdf
专知会员服务
76+阅读 · 2021年6月9日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
75+阅读 · 2020年7月26日
Python导论,476页pdf,现代Python计算
专知会员服务
253+阅读 · 2020年5月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
【新书】Python编程基础,669页pdf
专知会员服务
186+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
意识是一种数学模式
CreateAMind
3+阅读 · 2019年6月24日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Python机器学习教程资料/代码
机器学习研究会
8+阅读 · 2018年2月22日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Arxiv
0+阅读 · 2022年2月24日
Scalpel: The Python Static Analysis Framework
Arxiv
0+阅读 · 2022年2月24日
Arxiv
0+阅读 · 2022年2月23日
Arxiv
49+阅读 · 2021年5月9日
Arxiv
19+阅读 · 2018年10月25日
Arxiv
5+阅读 · 2018年6月5日
VIP会员
相关VIP内容
【2021新书】《用正确的方式学Python》,456页pdf
专知会员服务
76+阅读 · 2021年6月9日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
75+阅读 · 2020年7月26日
Python导论,476页pdf,现代Python计算
专知会员服务
253+阅读 · 2020年5月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
【新书】Python编程基础,669页pdf
专知会员服务
186+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
相关资讯
意识是一种数学模式
CreateAMind
3+阅读 · 2019年6月24日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Python机器学习教程资料/代码
机器学习研究会
8+阅读 · 2018年2月22日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
相关论文
Arxiv
0+阅读 · 2022年2月24日
Scalpel: The Python Static Analysis Framework
Arxiv
0+阅读 · 2022年2月24日
Arxiv
0+阅读 · 2022年2月23日
Arxiv
49+阅读 · 2021年5月9日
Arxiv
19+阅读 · 2018年10月25日
Arxiv
5+阅读 · 2018年6月5日
Top
微信扫码咨询专知VIP会员