第三次作业+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函数是人工测试,相对来说机器测试更加严格。