• 第三次作业+105032014101


    被测代码链接:http://www.cnblogs.com/ypzeng/p/6626269.html

    1、修正流程图

     

    2、测试用例设计

    覆盖方式

    用例编号

    输入

    期望输出

    实际输出

    是否通过

    时间

    a

    b

    c

    语句覆盖

    001

    3

    4

    5

    直角三角形

    直角三角形

    2017.03.29

    语句覆盖

    002

    12

    19

    20

    一般三角形

    一般三角形

    2017.03.29

    判定覆盖

    003

    101

    66

    78

    边值不存在

    边值不存在

    2017.03.29

    判定覆盖

    004

    60

    11

    12

    不构成三角形

    一般三角形

    2017.03.29

    判定覆盖

    005

    66

    66

    66

    等边三角形

    等边三角形

    2017.03.29

    判定覆盖

    006

    66

    77

    77

    等腰三角形

    等腰三角形

    2017.03.29

    判定覆盖

    007

    13

    14

    15

    一般三角形

    一般三角形

    2017.03.29

    判定覆盖

    008

    5

    8

    13

    直角三角形

    直角三角形

    2017.03.29

    条件覆盖

    009

    10

    15

    50

    不构成三角形

    一般三角形

    2017.03.29

    条件覆盖

    010

    10

    10

    10

    等边三角形

    等边三角形

    2017.03.29

    条件覆盖

    011

    13

    14

    15

    一般三角形

    一般三角形

    2017.03.29

    条件覆盖

    012

    101

    101

    101

    边值不存在

    边值不存在

    2017.03.29

    判定/条件覆盖

    013

    0

    101

    101

    边值不存在

    边值不存在

    2017.03.29

    判定/条件覆盖

    014

    20

    15

    60

    不构成三角形

    一般三角形

    2017.03.29

    判定/条件覆盖

    015

    33

    33

    33

    等边三角形

    等边三角形

    2017.03.29

    判定/条件覆盖

    016

    3

    3

    5

    等腰三角形

    等腰三角形

    2017.03.29

    判定/条件覆盖

    017

    9

    8

    7

    一般三角形

    一般三角形

    2017.03.29

    判定/条件覆盖

    018

    6

    8

    10

    直角三角形

    直角三角形

    2017.03.29

    组合覆盖

    019

    5

    5

    5

    等边三角形

    等边三角形

    2017.03.29

    组合覆盖

    020

    9

    12

    15

    直角三角形

    直角三角形

    2017.03.29

    组合覆盖

    021

    101

    102

    89

    边值不存在

    边值不存在

    2017.03.29

    组合覆盖

    022

    23

    23

    32

    等腰三角形

    等腰三角形

    2017.03.29

    路径覆盖

    023

    20

    20

    20

    等边三角形

    等边三角形

    2017.03.29

    路径覆盖

    024

    12

    25

    16

    一般三角形

    一般三角形

    2017.03.29

    路径覆盖

    025

    13

    12

    13

    等腰三角形

    等腰三角形

    2017.03.29

    路径覆盖

    026

    10

    20

    40

    不构成三角形

    一般三角形

    2017.03.29

    路径覆盖

    027

    23

    0

    56

    边值不存在

    边值不存在

    2017.03.29

    路径覆盖

    028

    7

    24

    25

    直角三角形

    直角三角形

    2017.03.29

    3、单元测试框架

    import static org.junit.Assert.*;
    
    import org.junit.Before;
    import org.junit.Test;
    
    public class GetDataTest {
    
        @Before
        public void setUp() throws Exception {
        }
    
        public String change(char c) {
            switch (c) {
            case '1':
                return "等边三角形";
    
            case '2':
                return "等腰三角形";
    
            case '3':
                return "直角三角形";
    
            case '4':
                return "一般三角形";
    
            case '5':
                return "不构成三角形";
    
            default:
                break;
    
            }
            return null;
        }
    
        @Test
        public void testTriangle() {
            String s1 = change(GetData.triangle(3, 4, 5));
            assertEquals("直角三角形", s1);
            String s2 = change(GetData.triangle(12, 19, 20));
            assertEquals("一般三角形", s2);
            String s3 = change(GetData.triangle(60, 11, 12));
            assertEquals("不构成三角形", s3);
            String s4 = change(GetData.triangle(66, 66, 66));
            assertEquals("等边三角形", s4);
            String s5 = change(GetData.triangle(66, 77, 77));
            assertEquals("等腰三角形", s5);
        }
    
    }

    4、测试结果

      由图可见,在第45行出现了错误。即输入一组“不构成三角形”的数据得到的结果是“一般三角形”。

    5、测试小结

      (1)根据六种覆盖方法编写的测试用例可以检测代码中的每条分支和路径,揭示隐藏在代码中的错误,对代码的测试会比较彻底,但无法检测代码中遗漏的路径和数据敏感性错误。

      (2)使用单元测试框架,测试框架为我们做的最基本的事情,就是允许我们按照某种更简单的方式写测试代码,把每一个测试单元写在一个测试方法里面,然后它会自动找出所有的测试方法,并且根据你的需要,运行所有的测试方法,或者是运行单个测试方法,或者是运行部分测试方法等等。而用main()方法调用,如果有很多类和方法,就可能要写一堆代码,写起来累,运行起来也累。

      (3)测试的目的是发现错误,至于找出错误的原因和错误发生的地方不是测试的任务,而是调试的任务。调试的目的是为了证明程序的正确,因此它必须不断地排除错误。它们的出发点不一样。前者是挑错,是一种挑剔过程,属于质盘保证活动。后者是排错,是一种排除过程,是编码活动的一部分。

  • 相关阅读:
    kafka 配置属性
    mybatis 启动流程源码分析(二)之 Configuration-Properties解析
    mybatis 配置文件
    mybatis 启动流程源码分析(一)
    mybatis configuration
    使用函数式编程替换if-else
    mybatis 基本使用
    第十二周学习笔记
    T-SQL的进阶:超越基本级别3:构建相关子查询——701小组
    第十周学习笔记
  • 原文地址:https://www.cnblogs.com/xwhisper/p/6640348.html
Copyright © 2020-2023  润新知