基于属性的测试和变异测试之间有什么区别?

会花

我对这个问题的了解是在Python中。

假设测试库(即基于属性的测试):https : //hypothesis.readthedocs.io/en/latest/

突变测试库:https//github.com/sixty-north/cosmic-ray

ec

这些是截然不同的野兽,但两者都可以提高测试的价值和质量两种工具都有助于并使“我的代码覆盖率达到N%”语句更有意义。


假设将帮助您在定义的范围内为被测函数生成各种测试输入。

通常,当您需要测试功能时,您会提供多个示例值,以尝试覆盖由代码覆盖率报告驱动的所有用例和边缘情况-所谓的“基于示例的测试”另一方面,假设执行基于属性的测试,生成一堆不同的输入和输入组合,有助于捕获不同的常见错误,例如除以零None、、 0,一一错误等,并帮助查找隐藏的错误。

变异测试就是在针对修改后的代码执行测试时动态更改被测代码。

这确实有助于查看您的测试是否正在实际测试应该测试的内容,以了解测试的价值。如果您已经具有丰富的测试代码库和良好的代码覆盖率,那么突变测试将真正发挥作用。


这些Python播客帮助我了解了这些概念:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

基于Agitar和Quickcheck属性的测试有什么区别?

UI / GUI测试,功能测试和E2E测试之间有什么区别?

主路径测试和路径测试之间有什么区别?

单元测试和集成测试有什么区别?

Angular中的单元测试,集成测试和端到端测试之间有什么区别?

变异和查询有什么区别

UI测试和E2E测试之间有什么区别?每种都有什么好处?

单元,功能,验收和集成测试之间有什么区别?

在神经网络中训练,验证和测试集之间有什么区别?

Angular2测试:ComponentFixture中的DebugElement和NativeElement对象之间有什么区别?

Capistrano中的执行,测试和捕获命令之间有什么区别?

源代码包和测试包之间有什么区别?

Robot Framework中的任务和测试用例之间有什么区别?

SMT测试套件描述和注释之间有什么区别?

基准测试和工作负载概念之间有什么区别?

title属性和tooltip属性之间有什么区别?

在CDK测试中,toHaveResource和toHaveResourceLike有什么区别?

角度测试中tick()和flush()有什么区别?

Geb和Spock测试框架有什么区别

在Safari和Webkit上进行测试有什么区别?

测试集和训练集有什么区别?

Swift中的“变异”函数和“输入”参数之间有什么区别吗?

XML属性和XML标记之间有什么区别?

属性和列之间有什么区别?

字段和属性之间有什么区别?

HTML和CSS的width属性之间有什么区别?

类和实例属性之间有什么区别?

哈希表和属性之间有什么区别?

[Computed]和[Write(false)]属性之间有什么区别?