arrow
返回

An Empirical Evaluation of Property-Based Testing in Python

delete2025-10-01
delete0
PRE
AI
S
S. Ravi *
M
Michael Coblenz
DOI:10.1145/3764068delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
属性测试(PBT)测试方法起源于编程社区。近年来,已为非函数式语言开发了PBT库,包括Python。然而,迄今为止,关于属性测试在发现错误方面的有效性以及某些类型的属性测试是否比其他类型更有效的证据很少。为了收集这些证据,我们对使用Python最流行的PBT库Hypothesis的426个Python程序进行了语料库研究。我们为12类属性测试制定了形式化定义,并实现了一种过程内静态分析来对测试进行分类。然后,我们使用变异测试评估了40个项目的测试套件的有效性,发现平均每个属性测试发现的变异数量是单元测试平均值的约50倍。我们还确定了在发现变异方面最有效的测试类别,发现那些查找异常、测试集合包含关系以及检查类型的测试比其他类型的属性测试有效19倍以上。最后,我们进行了一项参数扫描研究,以评估作为生成随机输入数量的函数的属性测试强度,发现76%的变异是在前20个输入中发现的。
Keyword:
Property-based testing
empirical evaluation of testing
taxonomy of property-based tests
mutation testing

期刊

P
Proceedings of the ACM on Programming Languages-PACMPL
IF:
2.8
论文数:
308
被引数:
4.7K

机构

University of California System 封面图
University of California System
学者数:
37.7W
论文数: 33.8W
被引数: 6.6K
引用论文

引用论文

err
IF0
err
err0
PREAI
err
err分享
err收藏
err分享
err收藏
err
IF0
err
err0
PREAI
err
err分享
err收藏
An empirical evaluation of evolutionary algorithms for unit test suite generation
err2018-12-01
err68
errOAAI
errCampos, Jose; Ge, Yan; Albunian, Nasser; Fraser, Gordon; Eler, Marcelo; Arcuri, Andrea
err分享
err收藏
QuickCheck
err2000-09-01
err0
errOAAI
errKoen Claessen; John Hughes
err分享
err收藏
学者 查看更多内容