Python中怎么实现突变测试(python,编程语言)

时间:2024-04-28 05:42:24 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    Python%E4%B8%AD%E6%80%8E%E4%B9%88%E5%AE%9E%E7%8E%B0%E7%AA%81%E5%8F%98%E6%B5%8B%E8%AF%95

首先,写一个简单的单元测试:

足够了吗?代码没有if语句,所以如果你查看覆盖率:

完美!测试通过,覆盖率为 100%,你真的是一个测试专家。但是,当你使用突变测试时,覆盖率会变成多少?

天啊,在 21 个突变体中,有 16 个存活。只有 5 个通过了突变测试,但是,这意味着什么呢?

对于每个突变测试,mutmut会修改部分源代码,以模拟潜在的错误,修改的一个例子是将>比较更改为>=,查看会发生什么。如果没有针对这个边界条件的单元测试,那么这个突变将会“存活”:这是一个没有任何测试用例能够检测到的潜在错误。

是时候编写更好的单元测试了。很容易检查使用results所做的更改:

这是mutmut执行突变的一个典型例子,它会分析源代码并将运算符更改为不同的运算符:减法变加法。在本例中由乘法变为除法。一般来说,单元测试应该在操作符更换时捕获错误。否则,它们将无法有效地测试行为。按照这种逻辑,mutmut会遍历源代码仔细检查你的测试。

你可以使用mutmut apply来应用失败的突变体。事实证明你几乎没有检查过hour参数是否被正确使用。修复它:

以前,你只测试了 12 点钟,现在增加一个 3 点钟的测试就足够了吗?

本文:Python中怎么实现突变测试的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么使用Python算法进行交易下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18