软件测试作业4

1、

2、

一个最直观的错误就是数组越界,n取的值越大,数组越界就越有可能发生

3、当n=1时候满足

第四问要求找出点覆盖、边覆盖和主路径覆盖的所有TR(测试需求)

点覆盖:{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}

边覆盖:{(1,2),(2,3),(2,12),(3,4),(4,5),(5,6),(6,7),(6,8),(7,5),(8,9),(5,9),(9,10),(9,11),(10,11),(11,2),(12,13),(13,14),(14,15),(15,13),(13,16)}

主路径覆盖:{(1,2,3,4,5,6,7),

(1,2,3,4,5,6,8,9,10,11),

(1,2,3,4,5,6,8,9,11),

(1,2,3,4,5,9,10,11),

(1,2,3,4,5,9,11),

(1,2,12,13,14,15),

(1,2,12,16),

(3,4,5,6,8,9,10,11,2,12,13,14,15),

(3,4,5,6,8,9,11,2,12,13,14,15),

(3,4,5,6,8,9,10,11,2,12,13,16),

(3,4,5,6,8,9,11,2,12,13,16),

(3,4,5,9,10,11,2,12,13,14,15),

(3,4,5,9,11,2,12,13,14,15),

(3,4,5,9,10,11,2,12,13,16),

(3,4,5,9,11,2,12,13,16),

(6,7,5,9,10,11,2,12,13,14,15),

(6,7,5,9,11,2,12,13,14,15),

(6,7,5,9,10,11,2,12,13,16),

(6,7,5,9,11,2,12,13,16),

(14,15,13,16),

(13,14,15,13),

(5,6,7,5),

(2,3,4,5,6,8,9,10,11,2),

(2,3,4,5,6,8,9,11,2),

(2,3,4,5,9,10,11,2),

(2,3,4,5,9,11,2),

}

最后,对任意程序设计主路径覆盖的测试用例,以上次的判断三角形的形状的程序为例

复制代码
package cn.tju.st;

public class Triangle {
    public int a;
    public int b;
    public int c;
    public Triangle(int a,int b,int c)
    {
        this.a=a;
        this.b=b;
        this.c=c;
    }
    public String judge() {
        if(a==b&&b==c)
            return "equilateral";
        else if(a==b||b==c||c==a)
            return "isosceles";
        else {
            return "scalene";
        }
    }
}
复制代码
复制代码
package cn.tju.st;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;


public class TestTriangle {
    Triangle tri =null;
    @Before
    public void setUp() throws Exception {
        //System.out.println("This is before test");
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("This is after test");
    }

    @Test
    public void test() {
        tri = new Triangle(3,3,3);
        assertEquals("equilateral",tri.judge());
        tri = new Triangle(2,3,3);
        assertEquals("isosceles",tri.judge());
        tri = new Triangle(3,4,5);
        assertEquals("scalene",tri.judge());
    }

}
复制代码

三组测试用例(3,3,3),(2,3,3),(3,4,5)即可完成主路径覆盖

原文地址:https://www.cnblogs.com/yanwenxiong/p/5342442.html