Various mature automated test generation tools exist for statically typed programming languages such as Java. Automatically generating tests for dynamically typed programming languages such as Python, however, is substantially more difficult due to the dynamic nature of these languages as well as the lack of type information. Our Pynguin framework provides automated unit test generation for Python. In this paper, we extend our previous work on Pynguin to support more aspects of the Python language, and by studying a larger variety of well-established state of the art test-generation algorithms, namely DynaMOSA, MIO, and MOSA. Our experiments confirm that evolutionary algorithms can outperform random test generation also in the context of Python, and similar to the Java world, MOSA and DynaMOSA yield the highest coverage results. However, our results demonstrate that there are still fundamental issues, such as inferring type information for code without this information, for test generation for Python to be solved.


翻译:对于静态打字编程语言,如爪哇,有各种成熟的自动测试生成工具。但是,由于Python等动态打字编程语言的动态性质以及缺少类型信息,自动生成测试难度更大。我们的Pynguin框架为Python提供自动单位生成测试。在本文中,我们扩展了我们以前关于Pynguin的工作,以支持Python语言的更多方面,并研究了多种成熟的艺术测试生成算法,即DynMOSA、MIO和MOSA。我们的实验证实,进化算法也可以在Python背景下超越随机生成的随机生成,类似Java世界、MOSA和DynamMOSA,产生最高覆盖结果。然而,我们的结果表明,对于Python的测试生成来说,仍然存在着一些根本性的问题,比如在没有这种信息的情况下为代码推断类型信息。

0
下载
关闭预览

相关内容

Automator是苹果公司为他们的Mac OS X系统开发的一款软件。 只要通过点击拖拽鼠标等操作就可以将一系列动作组合成一个工作流,从而帮助你自动的(可重复的)完成一些复杂的工作。Automator还能横跨很多不同种类的程序,包括:查找器、Safari网络浏览器、iCal、地址簿或者其他的一些程序。它还能和一些第三方的程序一起工作,如微软的Office、Adobe公司的Photoshop或者Pixelmator等。
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
代码这样写不止于优雅(Python版)
数说工作室
4+阅读 · 2017年7月17日
Generating Fact Checking Explanations
Arxiv
9+阅读 · 2020年4月13日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
代码这样写不止于优雅(Python版)
数说工作室
4+阅读 · 2017年7月17日
Top
微信扫码咨询专知VIP会员