首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Eclipse(java测试)-终止突变版本

Eclipse(java测试)-终止突变版本
EN

Stack Overflow用户
提问于 2020-09-30 18:02:50
回答 1查看 436关注 0票数 0

我是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 *学习者没有正确终止变异版本!*

请帮帮忙!我必须提交作业才能获得证书。

代码语言:javascript
运行
复制
// 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;
    }

}

测试代码为:

代码语言:javascript
运行
复制
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));
        
    }
    
    

}
EN

回答 1

Stack Overflow用户

发布于 2020-10-18 20:24:19

因为他们创造并使用了Demo.java的变异版本。突变代码是原始代码的一个版本,只有一次语法更改,比如'+‘被更改为'-',变量A更改为变量B,或者'>’更改为'>=‘。

这些更改中的每一个都可以使代码的行为与原始代码不同,并且您的测试脚本应该检测到这些更改。

mutant1:-0.020833333333333332 * Learner没有正确终止变异版本!-意味着你的测试脚本通过了一个不应该通过的变异代码,这意味着你的测试脚本没有覆盖代码中的许多可能的错误。

尝试:使用1,2,3添加输入组合

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64135232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档