1、软件测试报告一软件测试实验报告 代码测试学院:计算机科学学院 背景:1、被测测试程序功能:计算被输入日期是星期几;2、程序定义:已知公元1年1月1日是星期一,只要输入年月日,能自动回复当天是星期几;一、实验目的通过简单程序黑盒测试,熟悉测试过程,对软件测试行程初步了解,并养成良好的测试习惯。二、实验内容测试环境:Windows 2000、Dev C+;说明:因程序简单,因此未使用测试软件,均为手工输入,得到输出进行测试。为简单起见,不考虑公元前的日期。程序说明:1、程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底
2、天数+输入日期的天数2、闰年满足条件(year%4=0)&(year%100!=0)|(year%400=0)(1)分析各种输入情况,结合程序输出结果,进行等价类划分,并给出详细测试用例;(2)根据(1)所划分的等价类,进行边界值分析,并给出具体的测试用例;(3)决策表测试法;列出输入变量month、 day、 year的有效等价类;(条件桩)分析程序的规格说明,给出问题规定的可能采取操作;(动作桩)画出决策表(简化);根据决策表,给出详细测试用例。三、实验要求(1)根据题目要求编写测试用例 (2)实现测试用例的黑盒测试(3)撰写实验测试报告(4)试验心得总结四、实验测试过程1、测试代码#in
3、cludevoid main(void) int flag=0,year,month,day; long n; /输入日期,并检验日期的合法性,直到输入正确为止 cout请输入日期(年 月 日):; do if(flag!=0)coutyearmonthday; flag=0; if(year1) /检验年 flag=1; cout年份大于零n; continue; if(month12) /检验月 flag=1; cout31) flag=1; cout29) flag=1; cout28) flag=1; cout30) flag=1; cout小月的天数为1-30n; continue;
4、 while(flag);/计算公元1年1月1日到输入日期的天数 n=(year-1)*365L; /公元1年到输入日期的天数(不考虑闰年) n+=(year-1)/4; /考虑闰年 n-=(year-1)/100; n+=(year-1)/400; switch(month-1) /输入日期那年1月至输入日期那年那月的天数 case 11:n+=30; case 10:n+=31; case 9:n+=30; case 8:n+=31; case 7:n+=31; case 6:n+=30; case 5:n+=31; case 4:n+=30; case 3:n+=31; case 2:
5、if(year%4=0)&year%100!=0|(year%400=0)n+=29; else n+=28; case 1:n+=31; n+=day; /输入日期那年那月的天数n%=7; /折成星期几。若为0,则为星期天/输出星期几 cout输入日期是星期; switch(n) case 0:cout天n;break; case 1:cout一n;break; case 2:cout二n;break; case 3:cout三n;break; case 4:cout四n;break; case 5:cout五n;break; case 6:cout六n;break; 2、对测试用例进行等价
6、类划分。等价类划分表:输入条件有效等价类编号无效等价类编号yearYear为闰年1Year不为闰年2Year为正整数3Year为非正数13Year为非整数14monthMonth=1,3,5,7,8,104month1216Month=26month为非整数17Month=127day1=day=278 day31202、选择测试用例,使之覆盖所有等价类情况。测试用例表:测试用例编号输入数据输出数据覆盖等价类yearmonthday12000521您输入的日期是星期天22010227您输入的日期是星期六32010426您输入的日期是星期一420101230您输入的日期是星期四2,3,7,115
7、2010531您输入的日期是星期一2,3,4,126-1522提示:输入错误1371.5522提示:输入错误1482010-122提示:输入错误15920101322提示:输入错误161020105.522提示:输入错误171120105-1提示:输入错误1812201052.5提示:输入错误19132010532提示:输入错误203、对测试用例进行边界值分析。边界值分析表(1=year=2050):测试用例输入数据输出数据yearmonthday10615提示:输出错误21615您输入的日期是星期五32615您输入的日期是星期六41025615您输入的日期是星期四52049615您输入的日期
8、是星期二62050615您输入的日期是星期三72051615提示:输出错误81025015提示:输出错误91025115您输入的日期是星期六101025215您输入的日期是星期二1110251115您输入的日期是星期二1210251215您输入的日期是星期四1310251315提示:输出错误14102560提示:输出错误15102561您输入的日期是星期三16102562您输入的日期是星期四171025630您输入的日期是星期四181025631提示:输出错误191025632提示:输出错误五、实验结果及结论结果分析:原因:C1:year为闰年C2:month为1、3、5、7、8、10、12C
9、3:month为4、6、9、11C4:month为2C5:1=day=27C6:day=28C7:day=29C8:day=30C9:day=31结果:E1:输出今天是星期几E2:提示:输入不满足要求决策表:12345678910111213原因C1-TTTTTFFFFFC2TFFFFFFFFFFFFC3FTTFFFFFFFFFFC4FFFTTTTTTTTTTC5-TFFFFTFFFFC6-FTFFFFTFFFC7-FFTFFFFTFFC8-FFFTFFFFTFC9-FTFFFFTFFFFT结果E1TTFTTTFFTTFFFE2FFTFFFTTFFTTT结论:程序无逻辑性等大的错误,但需要进一步完善,如对输入进行限定等。六、实验心得体会通过实验,我对软件测试有了进一步的认识和学习,对黑盒测试流程有了较清楚的了解,收获很多。