【发布时间】:2017-12-04 13:52:27
【问题描述】:
我很难理解如何使用突变体找到错误。
所以,有原始代码,我制作突变体,检查可达性、感染和传播,找到杀死突变体的测试(如果它们存在的话),然后呢?这应该如何帮助我找到代码中的错误?
【问题讨论】:
我很难理解如何使用突变体找到错误。
所以,有原始代码,我制作突变体,检查可达性、感染和传播,找到杀死突变体的测试(如果它们存在的话),然后呢?这应该如何帮助我找到代码中的错误?
【问题讨论】:
变异测试不是为了测试你的源代码,而是为了测试你的测试代码。
这是为了回答问题,
如何确保我的(自动化)单元测试套件足够好?
如果您的测试在变异后仍然通过,则意味着它们没有覆盖应有的内容或覆盖范围不够。
Java 变异测试框架在其登陆页面上有一个很好的高级变异测试,
【讨论】:
if(varA == 1){ do stuff}这样的语句。在您的测试中,您需要能够更改 varA 的值并断言 src 代码中的响应/交互。如果他们不这样做,突变测试仍然会通过,因为他们可以将其更改为if(varA != 1){do stuff}。突变测试后通过的测试失败。