printf(\明天是:%d/%d/%d\\n\ break; } case 4: case 6: case 9: case 11:
if(day==30) {
month++; day=1;
printf(\明天是:%d/%d/%d\\n\ break; } else{ day++;
printf(\明天是:%d/%d/%d\\n\ break; } case 12:
if(day==31) {
year++; month=1; day=1;
printf(\明天是:%d/%d/%d\\n\ break; } else{
day++;
printf(\明天是:%d/%d/%d\\n\ break;
} } }
四、写出划分的等价类
输入条件 输入年份 输入月份 输入日期 编号 ? ? ? 有效等价类 1900<=year<=2050 1<=month<=12 1<=day<=31 编号 ? ? ? ? ⑴ ⑵ 无效等价类 year<1900 year>2050 month<1 month>12 day<1 day>31 输入类型 输入为闰年 输入为平年 ? ? ? 输入为int型 输入2月29日 输入2月28日 ⑶ ⑷ ⑸ 除int型外的任意输入 输入为闰年2月30日 输入2月29日 五、根据等价类设计的测试用例
用例编号 1 2 3 4 5 6 7 8 9 输入的数据 1988/2/3 2000/2/29 2001/2/28 100/1/23 2300/3/2 1912/0/3 1927/90/3 1956/3/-21 1972/3/43 Dasd@#¥%asdasdasd&……?gwgrwgrerhsxcvxfgdfg 2000/2/30 预期输出 1988/2/4 2000/3/1 2001/3/1 输入的年份不正确! 输入的年份不正确入! 月份输入有误,请重新输入! 月份输入有误,请重新输入! 日期输入有误,请重新输入! 日期输入有误,请重新输入! 实际输出 1988/2/4 2000/3/1 2001/3/1 输入的年份不正确! 输入的年份不正确! 月份输入有误,请重新输入! 月份输入有误,请重新输入! 日期输入有误,请重新输入! 日期输入有误,请重新输入! 覆盖的等价类 ???? ? ? ? ? ? ? ⑴ ⑵ 10 程序进入死循环 程序进入死循环 ⑶ 11 本月是闰月,请在1-29之间从新输入日期! 本月是闰月,请在1-28之间从新输入日期! 本月是闰月,请在1-29之间从新输入日期! 本月是闰月,请在1-28之间从新输入日期! ⑷ 12 2001/2/29 ⑸ 六、边界值分析法测试用例:
a. month=0 b. month=1 c. month=2 d. month=11 e. month=12 f. month=13 g. day=0
h. day=1 i. day=2 j. day=30 k. day=31 l. day=32 m. year=1899 n. year=1900
o. year=1901 p. year=2049 q. year=2050 r. year=2051
输入的数据 用例编号 month day year 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 6 6 6 6 6 6 6 6 6 6 6 6 0 1 2 11 12 13 15 1899 15 1900 15 1901 15 2049 15 2050 15 2051 0 1 2 1975 1975 1975 输入的年份不正确! 1900.6.16 1901.6.16 1975.6.16 2049.6.16 输入的年份不正确! 日期输入有误,请重新输入! 1975.6.2 1975.6.3 1975.7.1 输入的年份不正确! 1900.6.16 1901.6.16 1975.6.16 2049.6.16 输入的年份不正确! 日期输入有误,请重新输入! 1975.6.2 1975.6.3 1975.7.1 日期输入有误,请重新输入! 日期输入有误,请重新输入! 月份输入有误,请重新输入! 1975.1.16 1975.2.16 1975.11.16 1975.12.16 月份输入有误,请重新输入! m n o p q r g h i j k l a b c d e f 预期输出 实际输出 覆盖的边界值 30 1975 日期输入有误,请31 1975 重新输入! 日期输入有误,请32 1975 重新输入! 月份输入有误,请15 1975 重新输入! 15 1975 15 1975 15 1975 15 1975 1975.1.16 1975.2.16 1975.11.16 1975.12.16 月份输入有误,请15 1975 重新输入! 实验三 白盒测试实验
一.实验目的
能熟练应用白盒测试技术设计测试用例;
二.实验内容要求
1.根据流程图编写程序,并使用逻辑覆盖测试方法测试。
N X>8 AND Y>5 Y X>0 OR Y>0 N X=y+20 Y X=y/3 N X>16 OR Y>10 Y X=2*y 要求:
(1)画出程序图。
(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖设计测试用例。
三、程序代码
#include\int main(void){
float x,y;
printf(\请输入x,y:\scanf(\if(x>8&&y>5){ }
else if(x>0||y>0){ }
else{x=y+20;}
x=y/3;
if(x>16||y>10){ }
else return 0;
x=2*y;
}
printf(\return 0;
四、画出程序图
2 1
7 4 3 5 6
五、设计测试用例
T1:x>8 T2:y>5 T3:x>0 T4:y>0 T5:X>16 T6:y>10 A1,A2,A3 语句覆盖
用例编号 输入的数据 预期的输出 实际的输出 执行路径 条件覆盖 判定结点覆盖 -T1,-T2,1 x=-1,y=-1 x=19.00 x=19.00 1-2-4-7 -T3,-T4,-T5,-T6 -T1,-T2,2 x=8,y=5 x=y/3 x=1.67 1-2-5-7 T3,T4,-T5,-T6 T1,T2,-T3 x=17,y=10 x=20.00 x=20.00 1-3-6-7 3,-T4,T5,-T6 判定覆盖
A1,A3 -A1,A2 -A1,-A2