• 软件测试覆盖作业 第七题


    一.

    a.控制流图:

    b.设置错误在 if(isDivisible(primes[i],curPrime)),即可使t2比t1更容易发现

    c.n = 1

    d.

    Node Coverage Test Paths:

    [1,2,3,4,5,6,7,5,9,10,11,2,12,13,14,15,13,16]

    [1,2,3,4,5,6,8,9,10,11,2,12,13,14,15,13,16]

    Edge Coverage Test Paths:

    [1,2,3,4,5,6,7,8,9,10,11,2,12,13,14,15,13,16]

    [1,2,3,4,5,6,8,9,11,2,12,13,16]

    Prime Path Coverage Test Paths:

    [5,6,7,5]

    [13,14,15,13]

    [1,2,3,4,5,6,7,8,9,10,11,2,12,13,14,15,13,16]

    [1,2,3,4,5,6,8,9,11,2,12,13,16]

    [1,2,3,4,5,6,7,8,9,10,11]

    [2,3,4,5,6,7,8,9,10,11,2]

    [2,3,4,5,6,8,9,11,2]

    [2,3,4,5,6,7]

    [2,12,13,14,15]

    [2,12,13,16]

    [1,2,12,13,14,15]

    [1,2,12,13,16]

    二.实现一个主路径覆盖:

    package junit;
    
    public class triangle 
    {
    private static int equilateral = 1;
    private static int isosceles = 2;
    private static int scalene = 3;
    private static int error = 4;
    
    public int getEquilateral()
    {
        return equilateral;
        
    }
    
    
    public int getIsosceles()
    {
        return isosceles;
        
    }
    
    public int getScalene()
    {
        return scalene;
        
    }
    
    public int getError()
    {
        return error;
        
    }
    
    public int type(int a, int b, int c)
    {
        if(a<=0||b<=0||c<=0)
        {
            return error;
        }
        else if(a+b<=c||a+c<=b||b+c<=a)
        {
            return error;
        }
        else if(a!=b&&b!=c&&a!=c)
        {
            return scalene;
        }
        else if(a==b&&b==c)
        {
            return equilateral;
        }
        else
        {
            return isosceles;
        }
    
    }
    
    }

    测试类用例:

    package junit;
    import org.junit.Test;
    import static org.junit.Assert.*;
    
    public class triangletest {
    	private triangle triangle = new triangle();
    	@Test
    	public void testNottriangel(){
    		assertEquals(triangle.getError(),triangle.type(0, 1, 2));
    	}
    	@Test
    	public void testScalene(){
    		assertEquals(triangle.getScalene(),triangle.type(2, 4, 3));
    	}
    	@Test
    	public void testIsosceles(){
    		assertEquals(triangle.getIsosceles(),triangle.type(3, 2, 3));
    	}
    	@Test
    	public void testEquilateral(){
    		assertEquals(triangle.getEquilateral(),triangle.type(3, 3, 3));
    	}
    
    	@Test
    	public void testNottriangel1(){
    		assertEquals(triangle.getError(),triangle.type(1, 1, 2));}
    }
    

    实现的主路径覆盖:

  • 相关阅读:
    HTML元素解释
    Java命名规范
    HDU 1058 Humble Numbers(DP,数)
    HDU 2845 Beans(DP,最大不连续和)
    HDU 2830 Matrix Swapping II (DP,最大全1矩阵)
    HDU 2870 Largest Submatrix(DP)
    HDU 1421 搬寝室(DP)
    HDU 2844 Coins (组合背包)
    HDU 2577 How to Type(模拟)
    HDU 2159 FATE(二维完全背包)
  • 原文地址:https://www.cnblogs.com/hersenxiao/p/5335193.html
Copyright © 2020-2023  润新知