我对这个问题的了解是在Python中。
假设测试库(即基于属性的测试):https : //hypothesis.readthedocs.io/en/latest/
这些是截然不同的野兽,但两者都可以提高测试的价值和质量。两种工具都有助于并使“我的代码覆盖率达到N%”语句更有意义。
假设将帮助您在定义的范围内为被测函数生成各种测试输入。
通常,当您需要测试功能时,您会提供多个示例值,以尝试覆盖由代码覆盖率报告驱动的所有用例和边缘情况-所谓的“基于示例的测试”。另一方面,假设执行基于属性的测试,生成一堆不同的输入和输入组合,有助于捕获不同的常见错误,例如除以零None
、、 0,一一错误等,并帮助查找隐藏的错误。
变异测试就是在针对修改后的代码执行测试时动态更改被测代码。
这确实有助于查看您的测试是否正在实际测试应该测试的内容,以了解测试的价值。如果您已经具有丰富的测试代码库和良好的代码覆盖率,那么突变测试将真正发挥作用。
这些Python播客帮助我了解了这些概念:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句