第3次作业+105032014124

注:测试代码链接

http://www.cnblogs.com/ChenXh123/p/6622262.html

1、修改后代码的流程图:

2、测试用例设计:

用例编号

覆盖方式

输入数据

(月、日、年)

期待结果

实际结果

结论

U01

语句覆盖

a,b,c

输入格式错误

输入格式错误

通过

U02

语句覆盖

-1,7,2009

月份超出范围

月份超出范围

通过

U03

语句覆盖

5,32,2009

日期超出范围

日期超出范围

通过

U04

语句覆盖

5,7,1911

年份超出范围

年份超出范围

通过

U05

语句覆盖

2,28,2008

2008年2月29日

2008年2月29日

通过

U06

语句覆盖

2,29,2008

2008年3月1日

2008年3月1日

通过

U07

语句覆盖

12,31,2008

2009年1月1日

2009年1月1日

通过

U08

语句覆盖

2,28,2009

2009年3月1日

2009年3月1日

通过

U09

语句覆盖

12,31,2009

2010年1月1日

2010年1月1日

通过

U10

语句覆盖

5,5,2009

2009年5月6日

2009年5月6日

通过

U11

判定覆盖

a,b,c

输入格式错误

输入格式错误

通过

U12

判定覆盖

-1,32,1911

月份超出范围

月份超出范围

通过

U13

判定覆盖

2,28,1996

1996年2月29日

1996年2月29日

通过

U14

判定覆盖

12,31,1996

1997年1月1日

1997年1月1日

通过

U15

判定覆盖

2,29,1996

1996年3月1日

1996年3月1日

通过

U16

判定覆盖

1,1,1997

1997年1月2日

1997年1月2日

通过

U17

判定覆盖

12,31,1997

1998年1月1日

1998年1月1日

通过

U18

判定覆盖

6,30,1997

1997年7月1日

1997年7月1日

通过

U19

条件覆盖

-1,-1,1911

月份超出范围

月份超出范围

通过

U20

条件覆盖

13,32,2051

月份超出范围

月份超出范围

通过

U21

条件覆盖

2,28,2008

2008年2月29日

2008年2月29日

通过

U22

条件覆盖

2,29,2008

2008年3月1日

2008年3月1日

通过

U23

条件覆盖

12,31,2008

2009年1月1日

2009年1月1日

通过

U24

条件覆盖

2,28,2000

2000年2月29日

2000年2月29日

通过

U25

条件覆盖

2,29,2000

2000年3月1日

2000年3月1日

通过

U26

条件覆盖

12,31,2000

2001年1月1日

2001年1月1日

通过

U27

条件覆盖

2,28,2009

2009年3月1日

2009年3月1日

通过

U28

条件覆盖

12,31,2009

2010年1月1日

2010年1月1日

通过

U29

条件覆盖

5,5,2009

2009年5月6日

2009年5月6日

通过

U30

条件/判定覆盖

-1,-1,1911

月份超出范围

月份超出范围

通过

U31

条件/判定覆盖

13,32,2051

月份超出范围

月份超出范围

通过

U32

条件/判定覆盖

2,28,2000

2000年2月29日

2000年2月29日

通过

U33

条件/判定覆盖

2,29,2000

2000年3月1日

2000年3月1日

通过

U34

条件/判定覆盖

12,31,2000

2001年1月1日

2001年1月1日

通过

U35

多条件覆盖

2,28,2008

2008年2月29日

2008年2月29日

通过

U36

多条件覆盖

2,29,2008

2008年3月1日

2008年3月1日

通过

U37

多条件覆盖

12,31,2008

2009年1月1日

2009年1月1日

通过

U38

多条件覆盖

2,28,2000

2000年2月29日

2000年2月29日

通过

U39

多条件覆盖

2,29,2000

2000年3月1日

2000年3月1日

通过

U40

多条件覆盖

12,31,2000

2001年1月1日

2001年1月1日

通过

U41

多条件覆盖

2,28,2009

2009年3月1日

2009年3月1日

通过

U42

多条件覆盖

12,31,2009

2010年1月1日

2010年1月1日

通过

U43

多条件覆盖

5,5,2009

2009年5月6日

2009年5月6日

通过

U44

路径覆盖

-1,1,1996

月份超出范围

月份超出范围

通过

U45

路径覆盖

-1,32,1996

月份超出范围

月份超出范围

通过

U46

路径覆盖

-1,1,2051

月份超出范围

月份超出范围

通过

U47

路径覆盖

-1,32,2051

月份超出范围

月份超出范围

通过

U48

路径覆盖

2,28,2008

2008年2月29日

2008年2月29日

通过

U49

路径覆盖

2,29,2008

2008年3月1日

2008年3月1日

通过

U50

路径覆盖

12,31,2008

2009年1月1日

2009年1月1日

通过

U51

路径覆盖

2,28,2009

2009年3月1日

2009年3月1日

通过

U52

路径覆盖

12,31,2009

2010年1月1日

2010年1月1日

通过

U53

路径覆盖

5,5,2009

2009年5月6日

2009年5月6日

通过

3、单元测试框架:

 1 package 软件测试实验1;
 2 
 3 import static org.junit.Assert.*;
 4 
 5 import org.junit.Before;
 6 import org.junit.Test;
 7 
 8 public class NextDateTest {
 9 
10     @Before
11     public void setUp() throws Exception {
12     }
13 
14     @Test
15     public void testNextdate() {
16         String date1=NextDate.nextdate(-1,-1,1911);
17         assertEquals("月份超出范围",date1);
18         String date2=NextDate.nextdate(2, 28, 2008);
19         assertEquals("2008年2月29日",date2);
20         String date3=NextDate.nextdate(2, 28, 2009);
21         assertEquals("2009年3月1日",date3);
22         String date4=NextDate.nextdate(13,32,2051);
23         assertEquals("月份超出范围",date4);
24         String date5=NextDate.nextdate(12,31,2000);
25         assertEquals("2001年1月1日",date5);
26         String date6=NextDate.nextdate(2,32,2009);
27         assertEquals("日期超出范围",date6);
28         String date7=NextDate.nextdate(2,30,2051);
29         assertEquals("年份超出范围",date7);
30         String date8=NextDate.nextdate(5,5,2009);
31         assertEquals("2009年5月6日",date8);
32         String date9=NextDate.nextdate(2, 29, 2009);
33         assertEquals("日期超出范围",date9);
34         String date10=NextDate.nextdate(2, 28, 2009);
35         assertEquals("2009年3月1日",date10);
36     }
37 
38     
39 
40 }

4、测试结果:

5、测试小结:

(1)修改后的程序可以进行反复输入与测试,并且可以通过目前编写的测试用例的全部测试;

(2)这次实验进行了语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、多条件覆盖、路径覆盖,在编写各自的测试用例时,我发现,他们的测试用例会出现重叠的情况;上次实验的语句覆盖写得不够全面,相较而言,这次在编写测试用例时,我对逻辑覆盖有了更进一步的了解;

(3)作为一名测试人员,本次实验采用单元测试框架Junit进行测试,利用eclipse软件测试,我觉得这相比之前的测试来说,更方便、更新颖。

 

posted @ 2017-03-30 18:45  高小娟  阅读(226)  评论(0编辑  收藏  举报