第3次作业+105032014093

1、修正流程图:

2、测试用例设计:

覆盖方式

用例号

输入

期待结果

实际结果

通过

时间

判断覆盖

1

1911 1 1

年份超出范围

年份超出范围

 

判断覆盖

2

2017 0 5

月份超出范围

月份超出范围

 

判断覆盖

3

2017 3 20

2017年3月21日

2017年3月21日

 

判断覆盖

4

2017 3 31

2017年4月1日

2017年4月1日

 

判断覆盖

5

2017 12 31

2018年1月1日

2018年1月1日

 

判断覆盖

6

2017 3 32

日期超出范围

日期超出范围

 

判断覆盖

7

2017 4 29

2017年4月30日

日期超出范围

×

 

判断覆盖

8

2017 4 30

2017年5月1日

2017年5月1日

 

判断覆盖

9

2017 4 31

日期超出范围

日期超出范围

 

判断覆盖

10

2016 2 28

2016年2月29日

日期超出范围

×

 

判断覆盖

11

2016 2 29

2016年3月1日

2016年3月1日

 

判断覆盖

12

2016 2 30

日期超出范围

日期超出范围

 

判断覆盖

13

2017 2 27

2017年2月28日

日期超出范围

×

 

判断覆盖

14

2017 2 28

2017年3月1日

2017年3月1日

 

判断覆盖

15

2017 2 29

日期超出范围

日期超出范围

 

3、单元测试框架:

package com.test;

import static org.junit.Assert.*;

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

public class TestPracticeTest {

	@Before
	public void setUp() throws Exception {
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testNextDate() {
		String date1=TestPractice.NextDate(1911,1,1);
		assertEquals("年份超出范围", date1);
		String date2=TestPractice.NextDate(2017,0,5);
		assertEquals("月份超出范围", date2);
		String date3=TestPractice.NextDate(2017,3,20);
		assertEquals("2017年3月21日", date3);
		String date4=TestPractice.NextDate(2017,3,31);
		assertEquals("2017年4月1日", date4);
		String date5=TestPractice.NextDate(2017,12,31);
		assertEquals("2018年1月1日", date5);
		String date6=TestPractice.NextDate(2017,3,32);
		assertEquals("日期超出范围", date6);
		String date7=TestPractice.NextDate(2017,4,29);
		assertEquals("2017年4月30日", date7);
		String date8=TestPractice.NextDate(2017,4,30);
		assertEquals("2017年5月1日", date8);
		String date9=TestPractice.NextDate(2017,4,31);
		assertEquals("日期超出范围", date9);
		String date10=TestPractice.NextDate(2016,2,28);
		assertEquals("2016年2月29日", date10);
		String date11=TestPractice.NextDate(2016,2,29);
		assertEquals("2016年3月1日", date11);
		String date12=TestPractice.NextDate(2016,2,30);
		assertEquals("日期超出范围", date12);
		String date13=TestPractice.NextDate(2017,2,27);
		assertEquals("2017年2月28日", date13);
		String date14=TestPractice.NextDate(2017,2,28);
		assertEquals("2017年3月1日", date14);
		String date15=TestPractice.NextDate(2017,2,29);
		assertEquals("日期超出范围", date15);
	}

}

  

4、测试结果:

 

 

程序正确

 

 4、测试小结:

编写测试用例要根据流程图从头到尾每条分支都走一遍,有些比较比较复杂的判断语句编写测试用例就显得很麻烦
采用单元测试框架主要是可以把所有的用例都放在一起执行,比较不会遗漏,也免去了一次次执行输入输出的繁琐
测试是发现问题,即去找bug,让程序员修改,而调试则是解决问题,即发现了问题想办法去解决

 

posted on 2017-03-30 13:38  ,。?!  阅读(185)  评论(0)    收藏  举报