还剩7页未读,继续阅读
文本内容:
白盒测试实验报告班级2011级5班学号:201100300212姓名王桐日期2014/4/8程序代码import java.util.Scanner;public class日历{/***@param args*/public staticvoid mainString[]args{//TODO Auto-generated methodstub intYear,W;int Month,Day;Scanner scan=new ScannerSystem.in;//System.out.printHPlease enterthe year;Year=scan.nextlnt;//System.out.printlnfplease inputthe month1;Month=scan.nextlnt;/*ifMonth=0||Month=13System.out.printlnplease inputthe monthagain;Month=scan.nextlnt;}*///System.out.printlnfplease inputthe day;Day=scan.nextlnt;/*ifDay=0||Day=31System.out.printlnplease inputthe dateagain;Day=scan.nextlnt;}*///System.out.printlnY;int temp=Year-1+Year-1/4-Year-1/100+Year-1/400%7;W=temp%7+1;int count=W;int day=0;forint m=1;m=Month-1;m++//i formonth;ifm==1||rn==3||rn==5||m==7||m==8||m==10||m==12day=31;else ifm==4||m==6||m==9||m==11{day=30;else ifm==2ifYear%4==0Year%100!=0||Year%100==0Year%400==0day=29;elseday=28;count+=day;W=count+Day-1%7;System.out.printlnYear+“年”+Month+”月“+Day+“日是星期switchW{case1:System.out.printlnH—H;break;case2:System.out.println—;break;case3:System.out.printlnHH;break;case4:System.out.println四;break;case5:System.out.println五;break;case6:System.out.println7\;break;case0:System.out.println“天”;break;
二、程序流程图程序控制流图
四、测试用例
1.条件覆盖该程序的判定条件共有四个,分别是for循环中的三个月份判定,和闰年判定,所以为了满足条件覆盖即使每个条件的可能取值至少满足一次所以可以取的测试输入用例只要测试用例中的月输入12那么关于月份的判断都可以满足条件覆盖;问题的关键在于通过闰年条件的判断,即Year%4^0Year%100!=0||Year%100=0Year%400=0判断a year%4==0b year%100!=0c year%100==0d year%400==0测试用例取值条件For内关于闰年路径2012121Ta,Tb,Fc,Fd7-8-9-112000121Ta,Fb,Tc,Td7-8-9-112013121Fa,Tb,Fc,Fd7-8-10-
112.判定覆盖为了满足判定覆盖即使每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足所以可以取的测试输入用例关于for循环中月份的判断,为了使真假分支至少经历一次,那么月份的取值可以为4-12的值,而为了满足闰年的条件判定需要的测试用例如表格所示Year%4==0Year%100!=0||Year%100=0Year%400=0判断a year%4==0b year%100!=0c year%100==0d year%400==0测试用例判定条件For内关于闰年路径201241T7-8-9-11201341F7-8-10-
113.判定-条件覆盖For内关于闰年路径取值条件判定条件判定-条件覆盖既要满足判定覆盖又要满足条件覆盖,那么相应的取值关于for循环中月份的判断,为了使真假分支至少经历一次,同时使每个条件的可能取值至少满足一次月份可以取值为12,则关于判定-条件覆盖的测试输入用例为测试用例2012121Ta,Tb,Fc,Fd T7-8-9-112013121Fa,Tb,Fc,Fd F7-8-10-
114.路径覆盖为了满足覆盖条件覆盖路径路径覆盖即覆盖程序中的所有可能的执行路径为了覆盖for循环中关于月份判定的部分,月份取值可以为4,而关于闰年的判定,可以分别取不同取值来区分关于路径覆盖的测试用例为测试用例201241Ta,Tb,Fc,Fd1-2-4-11-1-2-5-7-8-9-11-1-2-4-11-1-2-5-6-11201341Fa,Tb,Fc,Fd1-2-4-11-1-2-5-7-8-10-11-1-2-4-11-1-2-5-6-11
五、测试体会。