返回
An Empirical Evaluation of Property-Based Testing in Python
DOI:10.1145/3764068.png)
摘要
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
IF:
2.8
论文数:
308
被引数:
4.7K
机构
引用论文
Empirically Evaluating the Quality of Automatically Generated and Manually Written Test Suites实证评估自动生成和人工编写的测试套件的质量

