【问题标题】:Finding bugs in code using mutation testing使用变异测试查找代码中的错误
【发布时间】:2017-12-04 13:52:27
【问题描述】:

我很难理解如何使用突变体找到错误。

所以,有原始代码,我制作突变体,检查可达性、感染和传​​播,找到杀死突变体的测试(如果它们存在的话),然后呢?这应该如何帮助我找到代码中的错误?

【问题讨论】:

    标签: testing mutation-testing


    【解决方案1】:

    变异测试不是为了测试你的源代码,而是为了测试你的测试代码。

    这是为了回答问题,

    如何确保我的(自动化)单元测试套件足够好?

    如果您的测试在变异后仍然通过,则意味着它们没有覆盖应有的内容或覆盖范围不够。

    Java 变异测试框架在其登陆页面上有一个很好的高级变异测试,

    http://pitest.org/

    【讨论】:

    • 谢谢,我在考试中遇到了使用变异方法查找代码中的错误的问题,所以实际上并不知道这是什么意思。
    • 基本上你的测试没有覆盖,例如,像if(varA == 1){ do stuff}这样的语句。在您的测试中,您需要能够更改 varA 的值并断言 src 代码中的响应/交互。如果他们不这样做,突变测试仍然会通过,因为他们可以将其更改为if(varA != 1){do stuff}。突变测试后通过的测试失败。
    猜你喜欢
    • 2017-08-28
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多