我是Coursera“软件测试入门”课程的学习者。我正在提交我的单元测试作业,但是Coursera网站上的评分器输出显示了这一点:
mutant1:-0.020833333333333332 *学习者没有正确终止变异版本!* mutant10:-0.020833333333333332 *学习者没有正确终止变异版本!* mutant15:-0.020833333333333332 *学习者没有正确终止变异版本!* mutant18:-0.020833333333333332 *学习者没有正确终止变异版本!* mutant2:-0.020833333333333332 *学习者没有正确终止变异版本!* mutant21:-0.020833333333333332 *学习者没有正确终止变异版本!* mutant23:-0.020833333333333332 *学习者没有正确终止变异版本!* mutant25:-0.020833333333333332 *学习者没有正确终止变异版本!* mutant3:-0.020833333333333332 *学习者没有正确终止变异版本!*
请帮帮忙!我必须提交作业才能获得证书。
// Demo.java
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
// Reading from System.in
Scanner reader = new Scanner(System.in);
System.out.println("Enter side 1: ");
// Scans the next token of the input as an int.
int side_1 = reader.nextInt();
System.out.println("Enter side 2: ");
// Scans the next token of the input as an int.
int side_2 = reader.nextInt();
System.out.println("Enter side 3: ");
// Scans the next token of the input as an int.
int side_3 = reader.nextInt();
if (isTriangle(side_1, side_2, side_3)) {
System.out.println("This is a triangle.");
}
else {
System.out.println("This is not a triangle.");
}
reader.close();
}
public static boolean isTriangle(double a, double b, double c) {
if ((a + b > c) &&
(a + c > b) && // should be a + c > b
(b + c > a)) {
return true;
}
return false;
}
}
测试代码为:
import static org.junit.Assert.*;
import org.junit.Test;
public class DemoTest {
@Test
public void triangle_test_1() {
assertTrue(Demo.isTriangle(3,2,4));
}
@Test
public void triangle_test_2() {
assertTrue(Demo.isTriangle(4,3,5));
}
@Test
public void triangle_test_3() {
assertTrue(Demo.isTriangle(5,3,5));
}
@Test
public void triangle_test_4() {
assertTrue(Demo.isTriangle(6,4,5));
}
@Test
public void triangle_test_5() {
assertTrue(Demo.isTriangle(7,5,6));
}
@Test
public void triangle_test_6() {
assertFalse(Demo.isTriangle(13,2,4));
}
@Test
public void triangle_test_7() {
assertFalse(Demo.isTriangle(4,3,15));
}
@Test
public void triangle_test_8() {
assertFalse(Demo.isTriangle(3,22,4));
}
@Test
public void triangle_test_9() {
assertFalse(Demo.isTriangle(24,2,5));
}
@Test
public void triangle_test_10() {
assertFalse(Demo.isTriangle(34,2,4));
}
@Test
public void triangle_test_11() {
assertFalse(Demo.isTriangle(2,10,4));
}
}
发布于 2020-10-18 20:24:19
因为他们创造并使用了Demo.java的变异版本。突变代码是原始代码的一个版本,只有一次语法更改,比如'+‘被更改为'-',变量A更改为变量B,或者'>’更改为'>=‘。
这些更改中的每一个都可以使代码的行为与原始代码不同,并且您的测试脚本应该检测到这些更改。
mutant1:-0.020833333333333332 * Learner没有正确终止变异版本!-意味着你的测试脚本通过了一个不应该通过的变异代码,这意味着你的测试脚本没有覆盖代码中的许多可能的错误。
尝试:使用1,2,3添加输入组合
https://stackoverflow.com/questions/64135232
复制相似问题