首页 > 代码库 > 第3次作业+105032014099

第3次作业+105032014099

1、修正流程图

技术分享

 

2、测试用例设计

覆盖方法 用例号 输入 期待结果 实际结果 通过 时间
语句覆盖 1 -1  23  11 输入数量不满足要求 23.8 未通过 2017.03.29
语句覆盖 2 5  10  32 75.6 75.6 通过 2017.03.29
语句覆盖 3 11  10  33 186.6 186.6 通过 2017.03.29
判定覆盖 4 ""  11  22 输入数量不满足要求 -9.8 未通过 2017.03.29
判定覆盖       5   11  -3  9 输入数量不满足要求 92.2 未通过 2017.03.29
判定覆盖 6 9  5  10 85.0 85.0 通过 2017.03.29
判定覆盖 7 15  6  5 195.0 195.0 通过 2017.03.29
判定覆盖 8 32  10  11 549.6 549.6 通过 2017.03.29
条件覆盖 9 1  6  -9 输入数量不满足要求 6.8 未通过 2017.03.29
条件覆盖 10 1  6  9 21.2 21.2 通过 2017.03.29
条件覆盖 11 16  5  9 210.3 210.3 通过 2017.03.29
条件覆盖 12 30  12  20 536.0 536.0 通过 2017.03.29
判定/条件覆盖 13 ""  ""  "" 输入数量不满足要求 -9.8 未通过 2017.03.29
判定/条件覆盖 14 12  输入数量不满足要求 -9.8 未通过 2017.03.29
判定/条件覆盖 15 -2  -1  3 输入数量不满足要求 -14.6 未通过 2017.03.29
判定/条件覆盖 16 12  -2  -3 输入数量不满足要求 91.6 未通过 2017.03.29
判定/条件覆盖 17 10  1  2 82.6 82.6 通过 2017.03.29
判定/条件覆盖 18 18  10  6 238.2 238.2 通过 2017.03.29
判定/条件覆盖 19 22  21  8 406.8 406.8 通过 2017.03.29
组合覆盖 20 11  11 输入数量不满足要求 -9.8 未通过 2017.03.29
组合覆盖 21 -1  22  -5 输入数量不满足要求 10.0 未通过 2017.03.29
组合覆盖 22 -2  -4  -1 输入数量不满足要求 -20.8 未通过 2017.03.29
组合覆盖 23 33  20  34 622.4 622.4 通过 2017.03.29
路径覆盖 24 22  a    "" 输入数量不满足要求 -9.8 未通过 2017.03.29
路径覆盖 25 12  c    23 输入数量不满足要求 -9.8 未通过 2017.03.29
路径覆盖 26 4  5  6 41.8 41.8 通过 2017.03.29
路径覆盖 27 17  10  8 228.6 228.6 通过 2017.03.29
路径覆盖 28 30  11  22 537.2 537.2 通过 2017.03.29

3、单元测试框架

import static org.junit.Assert.*;

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

public class CommissionTest {
    Commission commission = new Commission();
    
    @Before
    public void setUp() throws Exception {
    }

    @SuppressWarnings("deprecation")
    @Test
    public void testCommission() {
        assertEquals(21.2,commission.commission(1, 6, 9),0.0001); //0.0001为结果允许误差
        assertEquals(-1,commission.commission(-1,6,9),0.0001);    //-1表示输出数量不满足要求
        assertEquals(210.3,commission.commission(16, 5, 9),0.0001);
        assertEquals(195.0,commission.commission(15, 6, 5),0.0001);
        assertEquals(537.2,commission.commission(30, 11, 22),0.0001);
    }
}

 

4、测试结果

技术分享

 

5、测试小结

  在编写测试用例时,应该按照流程顺序进行用例安排,从第一个验证点到最后一个验证点,组成流程的开始到结束,方便用例的执行。相比于调用main()方法,采用单元测试框架可以更方便的写出测试代码,还提供了便捷方法。调试时为了证明程序的正确,它必须不断的排除错误,而测试注重发现错误,是一种挑错的过程。测试的输出是可预知的,而调试的输出大多是不可预见的,需要调试者去解释、去发现产生的原因。

第3次作业+105032014099