第三次作业+105032014118

1、修正流程图:

2、测试用例设计:

覆盖方式

用例号

输入

期待结果

实际结果

通过

时间

判断覆盖

1

2 3 100

年份超出范围

年份超出范围

 

判断覆盖

2

20 20 2017

月份超出范围

月份超出范围

 

判断覆盖

3

3 20 2017

20170321

20170321

 

语句覆盖

4

3 31 2017

20170401

20170401

 

语句覆盖

5

12 31 2017

20180101

20180101

 

判断覆盖

6

3 32 2017

日期超出范围

日期超出范围

 

判断覆盖

7

4 29 2017

20170430

20170430

 

判断覆盖

8

4 30 2017

20170501

20170501

 

判断覆盖

9

4 31 2017

日期超出范围

日期不存在,请重新输入

×

 

组合覆盖

10

2 28 2016

20160229

20160229

 

组合覆盖

11

2 29 2016

20160301

20160301

 

组合覆盖

12

2 30 2016

日期超出范围

日期不存在,请重新输入

×

 

判断覆盖

13

2 27 2017

20170228

20170228

 

判断覆盖

14

 2 28 2017

20170301

20170301

 

判断覆盖

15

2 29 2017

日期超出范围

日期不存在,请重新输入

×

 

3、单元测试框架:

package testwork;

import static org.junit.Assert.*;

import org.junit.Before;

public class Test {

    @Before
    public void setUp() throws Exception {
    }

    @org.junit.Test
    public void testGetNowDay() {
        String date1=pro1.getNowDay(2,3,100);
        assertEquals("年份超出范围", date1);
        String date2=pro1.getNowDay(20,20,2017);
        assertEquals("月份超出范围", date2);
        String date3=pro1.getNowDay(3,20,2017);
        assertEquals("2017年03月21日", date3);
        String date4=pro1.getNowDay(3,31,2017);
        assertEquals("2017年04月01日", date4);
        String date5=pro1.getNowDay(12,31,2017);
        assertEquals("2018年01月01日", date5);
        String date6=pro1.getNowDay(3,32,2017);
        assertEquals("日期超出范围", date6);
        String date7=pro1.getNowDay(4,29,2017);
        assertEquals("2017年04月30日", date7);
        String date8=pro1.getNowDay(4,30,2017);
        assertEquals("2017年05月01日", date8);
        String date9=pro1.getNowDay(4,31,2017);
        assertEquals("日期超出范围", date9);
        String date10=pro1.getNowDay(2,28,2016);
        assertEquals("2016年02月29日", date10);
        String date11=pro1.getNowDay(2,29,2016);
        assertEquals("2016年03月01日", date11);
        String date12=pro1.getNowDay(2,30,2016);
        assertEquals("日期超出范围", date12);
        String date13=pro1.getNowDay(2,27,2017);
        assertEquals("2017年02月28日", date13);
        String date14=pro1.getNowDay(2,28,2017);
        assertEquals("2017年03月01日", date14);
        String date15=pro1.getNowDay(2,29,2017);
        assertEquals("日期超出范围", date15);
    }

}

  

3、测试结果:

程序错误

4、测试小结:

(1).通过此次的实验,基本掌握了白盒测试的几种覆盖方法

(2).对于如何编写测试用例有了更深一层的了解

(3).采用单元测试框相对于使用main()方法调用,能够提高开发速度;提高软件代码质量;提升系统的可信赖度。

(4).JUNit进行测试,任何一个与期望值不一致的地方都会导致错误

原文地址:https://www.cnblogs.com/cyk0674804/p/6647957.html