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

浙公网安备 33010602011771号