zoukankan      html  css  js  c++  java
  • 实验二+118+陈元可

    一、实验目的

    掌握基于覆盖理论与基本路径的基本白盒测试方法和实践

    二、实验要求

    运用逻辑覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否,给出程序缺陷小结。

    三、实验内容

    1) 被测原代码被测源码链接:http://www.cnblogs.com/cyk0674804/p/6591815.html

    2)依据覆盖技术,测试用例列表:

    程序图:                                            

          

    DD路径图:  

        

    DD-路径(只压缩链路经)

    程序图节点

    DD-路径

    1,2

    A

    3

    B

    5

    C

    4,6,9

    D

    7,10,13

    E

    8

    F

    11

    G

    12

    H

    14,18

    I

    15

    J

    16,19,20

    K

    17

    L

    21

    M

    语句覆盖:

    A-B-C-F-H-L-M;  A-B-C-F-H-K-M;

    A-B-C-F-G-L-M;  A-B-C-F-G-K-M;

    A-B-C-E-M;  A-B-D-M;

    测试用例:

    用例ID

    输入值

    执行路径

    预期输出

    a

    b

    c

    result

    1

    1

    1

    1

    A-B-C-F-H-L-M

    等边三角形

    2

    8

    8

    4

    A-B-C-F-H-K-M

    等腰三角形

    3

    3

    4

    5

    A-B-C-F-G-L-M

    直角三角形

    4

    3

    4

    6

    A-B-C-F-G-K-M

    一般三角形

    5

    1

    1

    8

    A-B-C-E-M

    不构成三角形

    6

    111

    50

    90

    A-B-D-M

    边的值不在范围内!

    分支覆盖:

    A-B-C-F-H-L-M;  A-B-C-F-H-K-M;

    A-B-C-F-G-L-M;  A-B-C-F-G-K-M;

    A-B-C-E-M;  A-B-D-M;

    测试用例:

     

    用例ID

    输入值

    执行路径

    预期输出

    a

    b

    c

    result

    1

    1

    1

    1

    A-B-C-F-H-L-M

    等边三角形

    2

    8

    8

    4

    A-B-C-F-H-K-M

    等腰三角形

    3

    3

    4

    5

    A-B-C-F-G-L-M

    直角三角形

    4

    3

    4

    6

    A-B-C-F-G-K-M

    一般三角形

    5

    1

    1

    8

    A-B-C-E-M

    不构成三角形

    6

    111

    50

    90

    A-B-D-M

    边的值不在范围内!

    路径覆盖:

    A-B-C-F-H-L-M;  A-B-C-F-H-K-M;

    A-B-C-F-G-L-M;  A-B-C-F-G-K-M;

    A-B-C-E-M;  A-B-D-M;

    测试用例:

     

    用例ID

    输入值

    执行路径

    预期输出

    a

    b

    c

    result

    1

    1

    1

    1

    A-B-C-F-H-L-M

    等边三角形

    2

    8

    8

    4

    A-B-C-F-H-K-M

    等腰三角形

    3

    3

    4

    5

    A-B-C-F-G-L-M

    直角三角形

    4

    3

    4

    6

    A-B-C-F-G-K-M

    一般三角形

    5

    1

    1

    8

    A-B-C-E-M

    不构成三角形

    6

    111

    50

    90

    A-B-D-M

    边的值不在范围内!

    条件覆盖:

    编号

    a>=1

    a<=100

    b>=1

    b<=100

    c>=1

    c<=100

     

    a>=1 &&a<=100&&b>=1&&b<=100&&c>=1&&c<=100

    覆盖路径

    1

    T

    F

    F

    F

    F

    F

    F

    B-C

    2

    T

    T

    F

    F

    F

    F

    F

    B-D

    3

    T

    T

    T

    F

    F

    F

    F

    B-D

    4

    T

    T

    T

    T

    F

    F

    F

    B-D

    5

    T

    T

    T

    T

    T

    F

    F

    B-D

    6

    T

    T

    T

    T

    T

    T

    F

    B-D

    7

    T

    T

    T

    T

    T

    T

    T

    B-C

     

    编号

    a<b+c

    b<a+c

    c<a+b

    a<b+c &&b<a+c&& c<a+b

    覆盖路径

    1

    T

    F

    F

    F

    C-E

    2

    T

    T

    F

    F

    C-E

    3

    T

    T

    T

    T

    C-F

    4

    T

    F

    T

    F

    C-E

    5

    F

    F

    F

    F

    C-E

    6

    F

    T

    F

    F

    C-E

    7

    F

    F

    T

    F

    C-E

    8

    F

    T

    T

    F

    C-E

     

     

    编号

    a==b

    a==c

    b==c

    a==b || a==c||b==c

    覆盖路径

    1

    T

    F

    F

    T

    F-H

    2

    T

    T

    F

    T

    F-H

    3

    T

    T

    T

    T

    F-H

    4

    T

    F

    T

    T

    F-H

    5

    F

    F

    F

    F

    F-G

    6

    F

    T

    F

    T

    F-H

    7

    F

    F

    T

    T

    F-H

    8

    F

    T

    T

    T

    F-H

     

     

    编号

    a==b

    b==c

    a==b &&b==c

    覆盖路径

    1

    F

    F

    F

    H-K

    2

    F

    T

    F

    H-K

    3

    T

    F

    F

    H-K

    4

    T

    T

    T

    H-L

     

    编号

    a*a+b*b==c*c

    b*b+c*c==a*a

    a*a+c*c==b*b

    a*a+b*b==c*c || b*b+c*c==a*a || a*a+c*c==b*b

    覆盖路径

    1

    T

    F

    F

    T

    G-J

    2

    T

    T

    F

    T

    G-J

    3

    T

    T

    T

    T

    G-J

    4

    T

    F

    T

    T

    G-J

    5

    F

    F

    F

    F

    G-I

    6

    F

    T

    F

    T

    G-J

    7

    F

    F

    T

    T

    G-J

    8

    F

    T

    T

    T

    G-J

    测试用例:

    用例ID

    输入值

    执行路径

    预期输出

    a

    b

    c

    result

    1

    1

    1

    1

    A-B-C-F-H-L-M

    等边三角形

    2

    8

    8

    4

    A-B-C-F-H-K-M

    等腰三角形

    3

    3

    4

    5

    A-B-C-F-G-L-M

    直角三角形

    4

    3

    4

    6

    A-B-C-F-G-K-M

    一般三角形

    5

    1

    1

    8

    A-B-C-E-M

    不构成三角形

    6

    111

    50

    90

    A-B-D-M

    边的值不在范围内!

    Junit测试脚本:

    import static org.junit.Assert.*;
    
     
    import org.junit.BeforeClass;
    
    import org.junit.Test;
     
    
    public class test01Test {
    
        @BeforeClass
    
        public static void setUpBeforeClass() throws Exception {
    
        }
    
        @Test
    
        public final void testTriangle() {
    
    
           assertEquals("等边三角形",test01.triangle(1,1,1));
    
           assertEquals("等腰三角形",test01.triangle(8,8,4));
    
           assertEquals("直角三角形",test01.triangle(3,4,5));
    
           assertEquals("一般三角形",test01.triangle(3,4,6));
    
           assertEquals("不构成三角形",test01.triangle(1,1,8));
    
           assertEquals("边的值不在范围内!",test01.triangle(111,50,90)); 
    
        }
    }

    三、测试小结

      代码能够通过所有测试用例,未发现缺陷。

      通过本次实验我对白盒测试有了更深刻的理解。进一步掌握了白盒测试的基本路径测试方法,能够更好的设计测试用例。

      一个好的平台可以避免许多手工测试的麻烦,效率更加显著。

  • 相关阅读:
    MySQL之存储引擎
    MySQL之基础功能
    MySQL之正则表达式
    MySQL之数据类型
    MySQL之多表查询
    MySQL之单表查询
    linux命令useradd添加用户详解
    MySQL之数据操作
    MySQL之表操作
    MySQL之库操作
  • 原文地址:https://www.cnblogs.com/cyk0674804/p/6706482.html
Copyright © 2011-2022 走看看