int leap;//标志是闰年还是平年,为1时是闰年,为2时是平年 time_t t; struct tm stm;//A while(1){//循环测试 printf(\请输入年(yyyy)/月(mm)/日(dd)\\n\scanf(\year=stm.tm_year;month=stm.tm_mon;day=stm.tm_mday;//C t=mktime(&stm);//D printf(\输出结果*****\\n\if(t!=-1)//E有问题,不管输入格式是什么,t永远是-1 { printf(\输入的日期时间格式出错!\\n\ continue; } if(year%4==0)//年份判断 { if(year0==0) { if(year@0==0) { leap=1; printf(\年%d月%d日是闰年\\n\ } else { leap=2; printf(\年%d月%d日是平年\\n\ } } else { leap=1; printf(\年%d月%d日是闰年\\n\ } } else { leap=2; printf(\年%d月%d日是平年\\n\} if(month==2) { if(leap==1) { printf(\该月有29天\\n\ if(day>29) { printf(\对不起!您输入的日期超出该月范围\\n\ continue; } else if(day==29) { month=month+1; day=1; } else day=day+1; } if(leap==2) { printf(\该月有28天\\n\ if(day>28) { printf(\对不起!您输入的日期超出该月范围\\n\ continue; } else if(day==28) { month=month+1; day=1; } else day=day+1; } } else if(month==4||month==6||month==9||month==11) { printf(\该月有30天\\n\ if(day>30) { printf(\对不起!您输入的日期超出该月范围\\n\ continue; } else if(day==30) { month=month+1; day=1; } else day=day+1; } else { printf(\该月有31天\\n\ if(day>31) { printf(\对不起!超出该月范围\\n\ continue; } else if(day==31) { if(month==12&&day==31) { year=year+1; month=1; day=1; } else { month=month+1; day=1; } } else day=day+1; } printf(\日期:%ld年%d月%d日\\n\ } } 我设计的测试用例和结果 测试用例 month day year 预期输出 1-3 5182000 2000/5/19 4 5 31 2000 2000/6/1 5 5 32 2000对不起!超出该月范围 6-9 7 1 2005 2005/7/2 10 7 31 20052005/8/1 11-14 12 31 20102011/1/1 15 12 31 2014 2015/1/1 16 2 29 2008 2008/3/1 17 2 28 2015 2015/3/1 18 2 30 2015对不起!超出该月范围 测试张振宇代码结果图 二、实验小结、建议及体会 根据自己的实验情况自己填写 通过本次试验,自己根据代码以及判断条件自己设计了测试用例,真正的操作了黑盒测试。我先在vs2015中建立了项目,在代码编译运行通过后,在里面输入张振宇设计用例,发现输入负号时运行出错,在检查代码改正后通过了。我也对张振宇的程序设计用例并检测都通过了。真正理解到了测试用例是如何运作的,同时也增强了自己的实践操作能力。
实验课程名称:软件质量保证与测试
实验项目名称 实验者 同组者 高艺珩 白盒测试用例设计 专业班级 张振宇 软件ZY1301 实验成绩 组别 实验日期 年 月 日 第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 1.实验内容 求解一元二次方程程序控制流测试 2.实验要求 (1)两人一组,分别编写程序正确通过运行后,提供对方源代码文件,相互设计出白盒测试用例和测试结果。 (2)将对方设计的测试用例和测试结果保留,结合自己编写的程序分析测试结果和对测试用例的评价。(第三章48页) 附白盒测试方法: 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、基本路径覆盖等 二、1实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等 ) 求解一元二次方程程序设计主要对方程判断是否有结果,以及有几个结果。 关键代码为 printf(\请输入y方程中参数a,b,c: \\n\ scanf(\ if(a!=0) d=b*b-4*a*c; 根据d的结果来判断方程解的情况,再根据这几种情况设计测试用例。 三、主要实验工具、仪器设备及耗材 Pc机 vs2015