第三次作业+105032014061

被测试代码链接:http://www.cnblogs.com/chenyp1996/p/6619103.html

1、修正流程图:根据新修改的代码,再次修正流程图

 

 

2、测试用例设计:依据所有的覆盖理论,分别写出相应的测试用例设计。

 

覆盖方法

用例号

输入

期待结果

实际结果

通过

时间

语句覆盖

1

2005 1 20

2005121

2005121

通过

2017/3/29

语句覆盖

2

return

谢谢使用,再见~

谢谢使用,再见~

通过

2017/3/29

判断覆盖

3

2014 10 32

日期超出范围

日期超出范围

通过

2017/3/29

判断覆盖

4

2017 04 32

日期不存在

日期不存在

通过

2017/3/29

判断覆盖

5

2012 8 8

201289

201289

通过

2017/3/29

判断覆盖

6

A a a

日期格式错误

日期格式错误

通过

2017/3/29

判断覆盖

7

1900 1 1

年份超出范围

年份超出范围

通过

2017/3/29

条件覆盖

8

1998 13 1

月份超出范围

月份超出范围

通过

2017/3/29

条件覆盖

9

2000 11 32

日期超出范围

日期超出范围

通过

2017/3/29

判断/条件覆盖

10

2050 22 32

月份超出范围

月份超出范围

通过

2017/3/29

判定/条件覆盖

11

2001 11 -1

日期超出范围

日期超出范围

通过

2017/3/29

判定/条件覆盖

12

18000 1 1

年份超出范围

年份超出范围

通过

2017/3/29

判定/条件覆盖

13

2050 12 31

205111

205111

通过

2017/3/29

组合覆盖

14

2017 2 28

201731

201731

通过

2017/3/29

组合覆盖

15

2014 13 25

月份超出范围

月份超出范围

通过

2017/3/29

组合覆盖

16

1911 5 32

年份超出范围

年份超出范围

通过

2017/3/29

组合覆盖

17

2051 13 32

月份超出范围

月份超出范围

通过

2017/3/29

路径覆盖

18

2017 13 1

月份超出范围

月份超出范围

通过

2017/3/29

路径覆盖

19

2051 12 10

年份超出范围

年份超出范围

通过

2017/3/29

路径覆盖

20

2017 1 32

日期超出范围

日期超出范围

通过

2017/3/29

路径覆盖

21

2014 4 31

日期不存在

日期不存在

通过

2017/3/29

路径覆盖

22

2015 1 22

2015123

2015123

通过

2017/3/29

路径覆盖

23

2015 a s

日期格式错误

日期格式错误

通过

2017/3/29

路径覆盖

24

return

谢谢使用,再见~

谢谢使用,再见~

通过

2017/3/29

3、单元测试框架:采用单元测试框架Junit,初步简单的自动化执行测试用例。

import static org.junit.Assert.*;

import org.junit.BeforeClass;
import org.junit.Test;

public class MyDateText {
    
    MyDate date = new MyDate();

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
    }

    @Test
    public void testnextdate() {
        assertEquals("月份超出范围",date.nextdate(20, 1, 2004));
        assertEquals("年份超出范围",date.nextdate(11, 3, 1906));
        assertEquals("日期超出范围",date.nextdate(10,32, 2014));
        assertEquals("2005年1月21日",date.nextdate(1, 20,2005 ));
        assertEquals("日期不存在",date.nextdate(4,31, 2017));
        assertEquals("2017年2月1日",date.nextdate(1, 31, 2017));    
        assertEquals("2015年12月31日",date.nextdate(12, 30,2015));
        assertEquals("2000年3月1日",date.nextdate(2, 29, 2000));
        assertEquals("2000年2月29日",date.nextdate(2, 28, 2000));
        assertEquals("2051年1月1日",date.nextdate(12, 31, 2050));
        assertEquals("2017年3月1日",date.nextdate( 2, 28,2017));
        
    }

    

}

4、测试结果:根据测试用例设计,执行测试,并给出TestRunner测试结果图。

 

 

4、测试小结:

(1).通过此次的实验,基本掌握了白盒测试的几种覆盖方法,并掌握了它们之间的关系。

(2).对于如何编写测试用例有了更深一层的了解,对以后学习这门课有了更好的帮助。同时也认识到测试用例是基于需求的,为了测试程序是否满足需求,要想写好测试用例必须对于需求做到完全理解,并能从全局上把握住需求。

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

(4).软件测试是发现错误;而软件调试确是诊断并改正错误、错误定位、纠正错误、回归测试,这是两个不一样的过程。

 

 

posted on 2017-03-30 01:41  陈小兰  阅读(223)  评论(0编辑  收藏  举报

导航