您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 1实验报告--白盒测试
《白盒测试》一、企业发放奖金根据利润提成,利润I低于或者等于10万元时,奖金可提10%;利润高于10万,低于20万元时候,其中10万元按10%提取,高于10万部分,可提成7.5%;200000I=400000时,其中低于20万仍按上述办法提成(下同),高于20万部分按5%提成;400000I=600000时,高于40万元的部分按3%提成;600000I=1000000时,高于60万元的部分按1.5%提成;I1000000时,超过100万的部分按1%提成。从键盘输入当月利润,求应发放的奖金。1.使用逻辑覆盖测试方法设计测试用例2.使用基本路径测试方法设计测试用例w=33500+(i-600000)*0.015w=39500+(i-1000000)*0.01w=27500+(i-400000)*0.03w=17500+(i-200000)*0.05w=10000+(i-100000)*0.075;i0&&i=100000w=i*0.1i100000&&i=200000i200000&&i=400000i400000&&i=600000i600000&&i=1000000i1000000TFTFTFTFTFTFABCDEG规定:r=rightl=left1、判定覆盖设计相应的测试用例(为变量i赋予特定的值),可以使判定A、B、C、D、E、G分别为真和假。测试用例覆盖判定i=80000A=Ti=180000A=F,B=Ti=260000A=F,B=F,C=Ti=570000A=F,B=F,C=F,D=Ti=780000A=F,B=F,C=F,D=F,E=Ti=1300000A=F,B=F,C=F,D=F,E=F,G=Ti=-50000A=F,B=F,C=F,D=F,E=F,G=F表1判定覆盖测试用例2、条件覆盖设计若干测试用例,执行被测程序以后,要使每个判定中每个条件的可能取值至少满足一次。测试用例取值条件具体取值条件i=1300000Al=T,Ar=F;Bl=T,Br=F;Cl=T,Cr=F;Dl=T,Dr=F;El=T,Er=F;G=Ti1000000i=-500000Al=F,Ar=T;Bl=F,Br=T;Cl=F,Cr=T;Dl=F,Dr=T;El=F,Er=T;G=Fi=0表2条件覆盖测试用例3、判定-条件覆盖设计足够的测试用例,使得判断条件中的所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次。测试用例取值条件覆盖判定i=80000Al=T,Ar=T;A=Ti=180000Al=T,Ar=F;Bl=T,Br=TA=F,B=Ti=260000Al=T,Ar=F;Bl=T,Br=F;Cl=T,Cr=TA=F,B=F,C=Ti=570000Al=T,Ar=F;Bl=T,Br=F;Cl=T,Cr=F;Dl=T,Dr=TA=F,B=F,C=F,D=Ti=780000Al=T,Ar=F;Bl=T,Br=F;Cl=T,Cr=F;Dl=T,Dr=F;El=T,Er=TA=F,B=F,C=F,D=FE=T表3判定-条件覆盖测试用例4.条件组合覆盖设计足够的测试用例,使得判断中每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次。表4条件组合覆盖测试用例4、基本路径覆盖涉设计所有的测试用例来覆盖程序中的所有可能的、独立的执行路径。(1).根据测试用例编写主要代码如下:1publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub2Scannersc=newScanner(System.in);3doublei=sc.nextDouble();4doublew=1;5if(i0&&i=100000){6w=i*0.1;7}8if(i100000&&i=200000){9w=10000+(i-100000)*0.075;i=1300000Al=T,Ar=F;Bl=T,Br=F;Cl=T,Cr=F;Dl=T,Dr=F;El=T,Er=F;G=TA=F,B=F,C=F,D=FE=F,G=Ti=-50000Al=F,Ar=T;Bl=F,Br=T;Cl=F,Cr=T;Dl=F,Dr=T;El=F,Er=T;G=FA=F,B=F,C=F,D=FE=F,G=F测试用例取值条件覆盖判定i=80000Al=T,Ar=T;A=Ti=180000Al=T,Ar=F;Bl=T,Br=TA=F,B=Ti=260000Al=T,Ar=F;Bl=T,Br=F;Cl=T,Cr=TA=F,B=F,C=Ti=570000Al=T,Ar=F;Bl=T,Br=F;Cl=T,Cr=F;Dl=T,Dr=TA=F,B=F,C=F,D=Ti=780000Al=T,Ar=F;Bl=T,Br=F;Cl=T,Cr=F;Dl=T,Dr=F;El=T,Er=TA=F,B=F,C=F,D=FE=Ti=1300000Al=T,Ar=F;Bl=T,Br=F;Cl=T,Cr=F;Dl=T,Dr=F;El=T,Er=F;G=TA=F,B=F,C=F,D=FE=F,G=Ti=-50000Al=F,Ar=T;Bl=F,Br=T;Cl=F,Cr=T;Dl=F,Dr=T;El=F,Er=T;G=FA=F,B=F,C=F,D=FE=F,G=F10}11if(i200000&&i=400000){12w=17500+(i-200000)*0.05;13}14if(i400000&&i=600000){15w=27500+(i-400000)*0.03;16}17if(i600000&&i=1000000){18w=33500+(i-600000)*0.015;19}20if(i1000000){21w=39500+(i-1000000)*0.01;22}23System.out.println(您所得的提成为+w+元!);24}可得如下程序流程图:(2).计算程序环路复杂度为6.(3).确定基本路径①.5—9—23②.5—11—12—23③.5—11—14—15—23④.5—11—14—17—18—23⑤.5—11—14—17—20—21—2351114172091215182123⑥5—11—14—17—20—23(4).准备测试用例,确保基本路径组中的每一条路径被执行一次。①.i=50000可以覆盖路径5—9—23②.i=110000可以覆盖路径5—11—12—23③.i=220000可以覆盖路径5—11—14—15—23④.i=440000可以覆盖路径5—11—14—17—18—23⑤.i=660000可以覆盖路径5—11—14—17—20—21—23⑥i=1200000可以覆盖路径5—11—14—17—20—23二、某系统登录函数如下:privatevoidbutton1_Click(objectsender,EventArgse){stringu_user=TextBoxusername.Text.ToString().Trim();stringu_pwd=TextBoxpwd.Text.ToString().Trim();boola=username.Equals(u_user);boolb=pwd.Equals(u_pwd);if(.Equals(u_user)||.Equals(u_pwd))Labelerrorinfo.Visible=true;else{if(a&&b)Response.Redirect(index.htm);elseLabelerrorinfo.Visible=true;}}3.使用逻辑覆盖测试方法设计测试用例4.使用基本路径测试方法设计测试用例AT””.Equals(U_User)||”“.Equals(U_Pwd)FBLaberrorinfo.Visable=trueeTa&&bF规定:r=rightl=left1.判定覆盖设计相应的测试用例(为变量赋予特定的值),可以使判定A、B分别为真和假。2.条件覆盖设计若干测试用例,执行被测程序以后,要使每个判定中每个条件的可能取值至少满足一次。3.判定-条件覆盖测试用例覆盖判断U_User=”U_Pwd=””A=Ta=T,b=TA=F,B=T~(a=T,b=T)A=F,B=F测试用例取值条件具体取值条件U_User=”“U_Pwd=””Al=T,Ar=TU_User=”或U_Pwd=””a=T,b=TAl=F,Ar=F;Bl=T,Br=Ta=T,b=T~(a=T,b=T)Al=F,Ar=F;Bl=F,Br=F~(a=T,b=T)测试用例取值条件覆盖判定U_User=”“U_Pwd=””Al=T,Ar=TA=Ta=T,b=TAl=F,Ar=F;Bl=T,Br=TA=F,B=TResponse.Redirect(index.htm);Laberrorinfo.Visable=truee}设计足够的测试用例,使得判断条件中的所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次。4.条件组合覆盖设计足够的测试用例,使得判断中每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次。5、基本路径覆盖涉设计所有的测试用例来覆盖程序中的所有可能的、独立的执行路径。(1).根据测试用例代码如下:1privatevoidbutton1_Click(objectsender,EventArgse)2{3stringu_user=TextBoxusername.Text.ToString().Trim();4stringu_pwd=TextBoxpwd.Text.ToString().Trim();5boola=username.Equals(u_user);6boolb=pwd.Equals(u_pwd);7if(.Equals(u_user)||.Equals(u_pwd))8Labelerrorinfo.Visible=true;9else10{11if(a&&b)12Response.Redirect(index.htm);13else14Labelerrorinfo.Visible=true;15}16}可得如下程序流程图:~(a=T,b=T)Al=F,Ar=F;Bl=F,Br=FA=F,B=F测试用例取值条件覆盖判定U_User=”“U_Pwd=””Al=T,Ar=TA=Ta=T,b=TAl=F,Ar=F;Bl=T,Br=TA=F,B=T~(a=T,b=T)Al=F,Ar=F;Bl=F,Br=FA=F,B=F7811121416(2).计算程序环路复杂度为3.(3).确定基本路径①7—8—16.②7—11—12—16.③7—11—14—16.(4).准备测试用例,确保基本路径组中的每一条路径被执行一次。①u_use=””、u_pwd=””可以覆盖路径7—8—16.②u_use=”han”、u_pwd=”0616”可以覆盖路径7—11—12—16.③u_use=”jjh”、u_pwd=”1212”可以覆盖路径7—11—14—16.
本文标题:1实验报告--白盒测试
链接地址:https://www.777doc.com/doc-3026536 .html