zoukankan      html  css  js  c++  java
  • 软件测试覆盖作业 第七题

    一.

    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));}
    }
    

    实现的主路径覆盖:

  • 相关阅读:
    NLTK学习笔记(三):NLTK的一些工具
    NLTK学习笔记(四):自然语言处理的一些算法研究
    NLTK学习笔记(五):分类和标注词汇
    深入C++的运算符重载
    python3实现TCP协议的简单服务器和客户端
    python3实现UDP协议的简单服务器和客户端
    Windows平台下python2和3的兼容问题解决
    异常处理
    内置方法
    反射:hasattr、getattr、setattr、delattr
  • 原文地址:https://www.cnblogs.com/hersenxiao/p/5335193.html
Copyright © 2011-2022 走看看