实验一白盒测试用例设计班级:11511学号:20113051119姓名:张琳静一.实验目的1.掌握白盒测试用例设计方法;2.综合运用所学的白盒测试方法设计进行测试用例设计;3.掌握测试用例的编写方法。二.实验内容及要求1.使用逻辑覆盖法测试以下程序段。privatevoidDoWork(intx,inty,intz)1{2intk=0,j=0;3if((x3)&&(z10))4{5k=x*y-1;6j=(int)Math.Sqrt(k);7}8if((x==4)||(y5))9j=x*y+10;10j=j%3;11lbResult.Text=k=+k.ToString()+j=+j.ToString();12}说明:程序段中每行开头的数字是对每条语句的编号。要求:(1)画出程序的控制流图(用题中给出的语句编号表示)。(2)分别以语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。(3)执行测试用例,并记录测试结果。2.基本路径测试按要求对下面的代码进行测试。代码功能是:用折半查找在元素呈升序排列的数组中查找值为key的元素。代码如下:privateintBinSearch(int[]array,intkey)1{2intmid,low,high;3low=0;4high=array.Length-1;5while(low=high)6{7mid=(low+high)/2;8if(key==array[mid])9returnmid;10elseif(keyarray[mid])11high=mid-1;12else13low=mid+1;14}15return-1;16}(1)画出该程序的控制流图;(2)计算该程序的环路复杂度;(3)用基本路径测试法设计测试路径,之后为各测试路径设计测试用例,并记录执行结果。三.实验结果1.实验结果:(1)控制流图(2)语句覆盖:编号输入数据执行路径预期结果实际结果测试结果xyz14691-12K=23,j=1K=23,j=1成功判定覆盖:编号输入数据执行路径预期结果实际结果测试结果xyZ14791-12K=27,j=2K=27,j=2成功21581,2,3,8,10,11,12K=0,j=0K=0,j=0成功条件覆盖:编号输入数据执行路径预期结果实际结果测试结果XyZ14781-12K=27,j=2K=27,j=2成功21581,2,3,8,10,11,12K=0,j=0K=0,j=0成功39581,2,3,4,5,6,7,10,11,12K=44,j=1K=44,j=1成功42681,2,3,8,9,10,11,12K=0,j=1K=0,j=1成功判定-条件覆盖:编号输入数据执行路径预期结果实际结果测试结果xyZ14681-12K=23,j=1K=23,j=1成功224101,2,3,8,10,11,12K=0,j=0K=0,j=0成功32681,2,3,8,9,10,11,12K=0,j=1K=0,j=1成功445101,2,3,8,9,10,11,12K=0,j=0K=0,j=0成功条件组合覆盖:编号输入数据执行路径预期结果实际结果测试结果xyz14681-12K=23,j=1K=23,j=1成功224101,2,3,8,10,11,12K=0,j=0K=0,j=0成功32691,2,3,8,9,10,11,12K=0,j=1K=0,j=1成功445101,2,3,8,9,10,11,12K=0,j=0K=0,j=0成功路径覆盖:编号输入数据执行路径预期结果实际结果测试结果xyz14781-12K=27,j=2K=27,j=2成功211101,2,3,8,10,11,12K=0,j=0K=0,j=0成功32691,2,3,8,9,10,11,12K=0,j=1K=0,j=1成功45291,2,3,4,5,6,7,8,10,11,12K=9,j=0K=9,j=0成功2.实验结果:(1)控制流图(2)环路复杂度V(G)=4(3)基本路径为:路径1:1,2,3,4,5,15,16路径2:1,2,3,4,5,6,7,8,9,16路径3:1,2,3,4,5,6,7,8,10,11,14,5,15,16路径4:1,2,3,4,5,6,7,8,10,12,13,14,5,15,16测试用例表:编号输入数据覆盖路径预期结果实际结果测试结果arraykey1无1路径1-1-1成功2{1,2,3}2路径222成功3{1,2}0路径3-1-1成功4{2}3路径4-1-1成功四.实验总结在此次实验过程中,开始的时候,由于粗心犯了很多错误,也由于我对语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖法设计测试用例方法的不熟悉,所以导致效率很低,书写测试用例中出现很多错误,通过同学的帮助已经解决,通过这次白盒测试用例的实验,我对的重测试用例方法更加熟悉,也在犯错误的过程中,加深了对软件测试的理解,一个合格的软件测试员应时刻把不断测试和尽早测试作为首要原则,实现客户需求。