第三次作业+105032014108

1.代码链接:http://www.cnblogs.com/LixiaZhang/p/6627043.html

2.流程图

3.测试用例(因开发者将数据合法性判断放置在主函数main()中,下面仅对NextDay()函数进行测试,因此下列测试数据均是合法数据)

用例号 输入 期待结果 实际结果 通过 时间
1 1996 2 29 1996年3月1日 第二天:1996年3月1日 通过 2017.3.29
2 1996 2 31 错误提示 日期错误! 通过 2017.3.29
3 1995 2 29 错误提示 日期错误! 通过 2017.3.29
4 2017 12 31 2018年1月1日 第二天:2018年1月1日 通过 2017.3.29
5 1997 2 28 1997年3月1日 第二天:1997年3月1日 通过 2017.3.29
6 2009 3 31 2009年4月1日 第二天:2009年4月1日 通过 2017.3.29
7 2008 4 31 错误提示 日期错误! 通过

2017.3.29

 

 

 

 

 

 

 

 

4.单元测试

import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;

public class DateTest {

	private Date date=new Date();
	@Before
	public void setUp() throws Exception {	
	}
	@Test
	public void testNextDay() {
	
		date.setDay(29);
		date.setMonth(2);
		date.setYear(1996);
		assertEquals("第二天:1996年3月1日", date.NextDay());
		
		date.setDay(31);
		date.setMonth(2);
		date.setYear(1996);
		assertEquals("日期错误!", date.NextDay());
		
		date.setDay(29);
		date.setMonth(2);
		date.setYear(1995);
		assertEquals("日期错误!", date.NextDay());
		
		
		date.setDay(31);
		date.setMonth(12);
		date.setYear(2017);
		assertEquals("第二天:2018年1月1日", date.NextDay());
		
		
		date.setDay(28);
		date.setMonth(2);
		date.setYear(1997);
		assertEquals("第二天:1997年3月1日", date.NextDay());
		
		
		date.setDay(31);
		date.setMonth(3);
		date.setYear(2009);
		assertEquals("第二天:2009年4月1日", date.NextDay());
		
		date.setDay(31);
		date.setMonth(4);
		date.setYear(2008);
		assertEquals("日期错误!", date.NextDay());
	}

}

 5.测试结果

    

6.测试小结

  (1)测试用例应尽可能覆盖流程图,这样才能尽可能地找出错误。

  (2)Junit测试是机器测试,main函数是人工测试,相对来说机器测试更加严格。

posted @ 2017-03-30 18:35  Why-Not  阅读(197)  评论(0编辑  收藏  举报