当前位置:文档之家› Nextdate 函数的黑盒测试

Nextdate 函数的黑盒测试

实验四 Nextdate 函数的黑盒测试
一、实验目的:
掌握黑盒测试中的决策表测试法,并对被测程序设计测试用例。

二、实验环境
操作系统:Windows XP + SP2 /win7
三、实验内容
1、编写一个NextDate函数。

2、掌握黑盒测试中的决策表测试法的基本步骤。

3、使用决策表法设计测试用例,对编写的函数实施测试,总结分析测试结果。

四、实验步骤
1、编写一个NextDate函数,代码如下:
#include <stdio.h>
int chk(int y,int m,int d)
{
if (d<1||d>31) {
return 0;
}
else if (m<1||m>12) {
return 0;
}
else if (y<1912||y>2500) {
return 0;
} return 1;
}
int isy(int y)
{
return (y%4==0&&y%100||y%400);
}
int ilm(int m )
{
return (m==4||m==6||m==9||m==11);
}
int ihm(int m)
{
return (m==1||m==3||m==5||m==7||m==8||m==10||m==12);
}
int main(int argc, char* argv[])
{
int year,month,day;
printf("Year=");
scanf("%d",&year);
printf("Month=");
scanf("%d",&month);
printf("Day=");
scanf("%d",&day);
if (chk(year,month,day)) {
if ((day==28&&month==2&&!isy(year))||(day==29&&month==2&&isy(year))) { day=1;
month=3;
}
e lse i
f (day==30&&ilm(month)||day==31&&ihm(month)) {
day=1;
month++;
}
else day++;
if (month>12) {
month=1;
++year;
}
printf("Next date:%d-%d-%d\n",year,month,day);
}
else printf("日期不合法");
return 0;
2、}根据黑盒测试的决策表法设计测试用例。

动作桩如下:
变量day加1操作;
变量day复位操作;
变量month加1操作;
变量month复位操作;
变量year加1操作;
条件桩如下:
M1={month;month有30天};
M2={month;month有31天,12月除外};
M3={month;month是12月};
M4={month;month是2月};
D1={day:1≤day≤27};
D2={day:day=28};
D3={day:day=29};
D4={day:day=30};
D5={day:day=31};
Y1={year:year是闰年};
Y2={year:year不是闰年};
3
Test case 16 2 15 2009 2009年2月
16日 2009年2月16日
Test case 17 2 28 2012 2012年2月
29日 2012年2月29日
Test case 18 2 28 2009 2009年3月
1日 2009年2月29日
Test case 19 2 29 201
2
2012年3
月1日
2012年3
月1日
Test case 20 2 29 200
9
不可能的
输入日期
2009年3
月1日
Testcase 21-22 2 30 200
9
不可能的
输入日期
2009年2
月31日
五、实验结果
六、实验总结
1、通过动手实验,对基于决策表法的测试更加了解,理解更加深刻。

2、在实验过程中复习了c语言的知识。

3、在实验中遇到了困难,经过查资料后得到了解决。

相关主题