今天是特殊的日子。2月29日。隔壁team发生了一个闰年才有的bug。。
他们在激烈的讨论中。。。
下面这个blog值得一看。。
现代软件工程讲义 9 测试 关于闰年的测试
用程序算出2000年到4000年之间的所有闰年(此时只考虑到3200年以前,故3200其实不是闰年):
int IsLeapYear(int year) //判断某年是否闰年 闰年返回1,平年返回0
{
if ((year%400==0) || (year%100!=0) && (year%4==0))
return 1;
else
return 0;
}
如果你知道这个函数工作的原理, 或者了解程序要反映的现实世界, 你可以举出更详细的等价类, 例如针对 IsLeapYear():
- 被 400 整除的年份
- 被 100 整除, 但是不被400 整除的年份
- 被 100 整除, 同时被400 整除的年份
- 被 4 整除, 但是不被100 整除的年份
- 被 4 整除, 同时被100 整除的年份
- 偶数, 不被4 整除的年份
- 奇数年份
- 其它非法输入的年份