欢迎来到天天文库
浏览记录
ID:59143896
大小:105.00 KB
页数:10页
时间:2020-09-11
《白盒测试方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、白盒测试:基路径测试方法、插桩测试法例子:已知公元1年1月1日是星期一,只要输入年月日,能自动回复当天是星期几;计算被输入日期是星期几;A程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底天数+输入日期的天数B闰年满足条件(year%4==0)&&(year%100!=0)
2、
3、(year%400==0)(1)分析各种输入情况,结合程序输出结果,并给出详细测试用例;(2)根据(1)所划分的等价类,进行边界值分析,并给出具体的测试用
4、例;(3)决策表测试法;①列出输入变量month、day、year的有效等价类;(条件桩)②分析程序的规格说明,给出问题规定的可能采取操作;(动作桩)③画出决策表(简化);④根据决策表,给出详细测试用例。代码:(被测部分为while循环内部语句)#includeusingnamespacestd;intmain(){intx=1,year,month,day;while(x){1.inti,num=0,total,total1,total2;2.cout<<"请输入年份:";3.cin>
5、>year;4.cout<<"请输入月份:";5.cin>>month;6.cout<<"请输入日期:";7.cin>>day;//求得输入年份之前一年末的总天数8.for(i=1;i6、7、(i%400==0))10.num++;}11.total1=365*(year-num-1)+366*num;//求得输入年份的总天数12.if((year%4==0)&&(year%100!=0)8、9、(year%400==0)){//求得输入月份之10、前一月末的总天数13.switch(month){case1:total2=0;break;case2:total2=31;break;case3:total2=60;break;case4:total2=91;break;case5:total2=121;break;case6:total2=152;break;case7:total2=182;break;case8:total2=213;break;case9:total2=244;break;case10:total2=274;break;case111、1:total2=305;break;case12:total2=335;break;}}else{14.switch(month){case1:total2=0;break;case2:total2=31;break;case3:total2=59;break;case4:total2=90;break;case5:total2=120;break;case6:total2=151;break;case7:total2=181;break;case8:total2=212;break;case9:tota12、l2=243;break;case10:total2=273;break;case11:total2=304;break;case12:total2=334;break;}}//在加上输入的日,求其总和可得到从公元1年1月1日到输入日期当天的总天数15.total=total1+total2+day;16.intweek;17.week=total%7;18.cout<<"您输入的日期是";19.switch(week){case0:cout<<"星期天"<13、星期一"<>x;}}2、测试用例设计1)控制流图2)环路复杂度计算由图可知14、,图中的环路有六条,故环路复杂度为六。3)基本路径集设计基本路径集为:A.1、2、3、4、5、6、7、8、11、12、14、15、16、17、18、19B.1、2、3、4、5、6、7、8、9、11、12、14、15、16、17、18、19C.1、2、3、4、5、6、7、8、9、10、11、12、13、15、16、17、18、19D.1、2、3、4、5、6、7、8、9、10、11、12、14、15、16、17、18
6、
7、(i%400==0))10.num++;}11.total1=365*(year-num-1)+366*num;//求得输入年份的总天数12.if((year%4==0)&&(year%100!=0)
8、
9、(year%400==0)){//求得输入月份之
10、前一月末的总天数13.switch(month){case1:total2=0;break;case2:total2=31;break;case3:total2=60;break;case4:total2=91;break;case5:total2=121;break;case6:total2=152;break;case7:total2=182;break;case8:total2=213;break;case9:total2=244;break;case10:total2=274;break;case1
11、1:total2=305;break;case12:total2=335;break;}}else{14.switch(month){case1:total2=0;break;case2:total2=31;break;case3:total2=59;break;case4:total2=90;break;case5:total2=120;break;case6:total2=151;break;case7:total2=181;break;case8:total2=212;break;case9:tota
12、l2=243;break;case10:total2=273;break;case11:total2=304;break;case12:total2=334;break;}}//在加上输入的日,求其总和可得到从公元1年1月1日到输入日期当天的总天数15.total=total1+total2+day;16.intweek;17.week=total%7;18.cout<<"您输入的日期是";19.switch(week){case0:cout<<"星期天"<13、星期一"<>x;}}2、测试用例设计1)控制流图2)环路复杂度计算由图可知14、,图中的环路有六条,故环路复杂度为六。3)基本路径集设计基本路径集为:A.1、2、3、4、5、6、7、8、11、12、14、15、16、17、18、19B.1、2、3、4、5、6、7、8、9、11、12、14、15、16、17、18、19C.1、2、3、4、5、6、7、8、9、10、11、12、13、15、16、17、18、19D.1、2、3、4、5、6、7、8、9、10、11、12、14、15、16、17、18
13、星期一"<>x;}}2、测试用例设计1)控制流图2)环路复杂度计算由图可知
14、,图中的环路有六条,故环路复杂度为六。3)基本路径集设计基本路径集为:A.1、2、3、4、5、6、7、8、11、12、14、15、16、17、18、19B.1、2、3、4、5、6、7、8、9、11、12、14、15、16、17、18、19C.1、2、3、4、5、6、7、8、9、10、11、12、13、15、16、17、18、19D.1、2、3、4、5、6、7、8、9、10、11、12、14、15、16、17、18
此文档下载收益归作者所有