zoukankan      html  css  js  c++  java
  • 软件测试homework3

    P64

    (a)

    (b) when MAXPRIMES = 4, array will out of bound

    (c) n = 1

    (d) node coverage:

      TR = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}

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

      edge coverage:

      TR = {(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(6,8),(7,8),(8,5),(5,9),(9,10),(10,11),(11,12),(10,12),(12,2),(2,13),(13,14),(14,15),(15,14),(14,16)}

      prime path coverage:

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

    最后,设计主路径测试覆盖的用例。以上次的三角形为例:

    软件结构如下:

    Triangle的内容:

    判断三角形的形状的代码如下:

    复制代码
    public String type(Triangle tri){
            if(isTriangle(tri)){
                
                if(isIsosceles(tri)){
                    return "isoscele";
                }
                if(isScalene(tri)){
                    return "equilateral";
                }
                return "scalene";
            }
            return "not a triangle";
        }
    复制代码

    TriangleTest的内容如下:

    复制代码
    package cn.tjuscs.st;
    
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.junit.runners.Parameterized;
    
    import java.util.Arrays;
    import java.util.Collection;
    
    import static org.junit.Assert.assertEquals;
    
    
    @RunWith(Parameterized.class)
    public class TriangleTest {
        
        private Triangle tri;
        private int input1;
        private int input2;
        private int input3;
        private String expected;
        
        public TriangleTest(int input1, int input2, int input3, String expected){
            this.input1 = input1;
            this.input2 = input2;
            this.input3 = input3;
            this.expected = expected;
        }
        
        @Before
        public void setUp(){
            tri = new Triangle(input1, input2, input3);
        }
        
        @Parameterized.Parameters
        public static Collection<Object[]> getData(){
            return Arrays.asList(new Object[][]{
                    {2,2,2,"equilateral"},
                    {2,4,3,"scalene"},
                    {2,3,3,"isoscele"},
                    {2,9,2,"not a triangle"}
            });
        }
        
        @Test
        public void testTriangle() throws Exception{
            assertEquals(this.expected, tri.type(tri));
        }
        
    }
    复制代码

      覆盖率97.6%

      //原来的程序打不开了。。所以用这个代替覆盖率的截图

  • 相关阅读:
    MyBatis Generator去掉生成的注解
    IDEA git修改远程仓库地址
    Spring Boot 集成druid
    解决 SpringBoot 没有主清单属性
    Intellij IDEA 安装lombok及使用详解
    SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束
    @SpringBootApplication
    IDEA 创建git 分支 拉取分支
    Intellij Idea 将java项目打包成jar
    Spring Could Stream 基本用法
  • 原文地址:https://www.cnblogs.com/czyhhxx/p/5334827.html
Copyright © 2011-2022 走看看