1、实验六 白盒测试一、实验目的1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法;2、通过实验和应用,逐步提高和运用白盒测试技术解决实际测试问题的能力。3、掌握决策表和因果图的测试用例设计方法二、实验内容1程序代码如下: int result(int x, int y, int z)int k=0,j=0;if((x3) )j=x*y;return k+j;要求:写出以上程序的语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、多条件组合覆盖、路径覆盖的测试用例。x3 j=x*y1T 2F 3T 4k=0,j=0k+jF5语句覆盖:令 x=10,y=11,z=4.满足“x3”这两
2、个条件,刚好覆盖了路径 124.判定覆盖:测试用例 第一个判断值 覆盖路径输入x=10,y=11,z=3输出 k=21,j=110T T 124F F 135条件覆盖:第二个判断值输入 x=5,y=3,z=5输出 k=0,j=0对于第一个判断:xy 取真时为 T1,取假时 F1z3 取真时为 T4,取假时 F4测试用例 取值条件 覆盖路径输入 x=3,y=4,z=5输出 k=0,j=12 T1,F2,F3,T4 xy,z=5,x!=10,y3134F1,T2,T3,F4 x=y,z3124F1,F2,F3,F4 x=y,z3T1,F2,F3,T4 134 xy,z5x!=10,y3覆盖路径输入
3、 x=3,y=4,z=5输出 k=0,j=12输入 x=10,y=3,z=4输出 k=0,j=30 F1,T2,T3,F4 134 x=y,z=y,z=5,x!=10,ylen) /验证实际范围 if(poslen) F1,F2,F3,F44 return -1 ;5 if(len=200)/验证是否超过数组最大长度6 return -1 ;7 for(i=len-1 ;i=pos-1 ;i-)/从插入位置开始后移,以将插入位置空出8 ai+1=ai ;9 apos-1=val ;/插入10 return len ;要求:1、静态代码检查,程序中哪几处有问题?找出并更正1.if(len=200
4、)改为 if(len=200)for(i=len-1;i=pos-1;i-)改为 for(i=len-1;i=pos;i-)2、画出程序控制流图2.3578 91003、计算环路复杂性3.V(G)=4+1=54、确定独立路径集4.路径 1:3-14路径 2:3-13-24路径 3:3-13-2 56路径 4:3-13-257910路径 5:3-13-257879105、给出针对每条独立路径的测试用例(注意数组的前置状态:如当前实际成绩个数)路径 1:pos=0,len=201路径 2:pos=202路径 3:pos=3,len=201路径 4:pos=3,len=3路径 5:pos=3,len=5三、测试心得体会实验分析与体会 通过这次实验,我了解到了白盒测试和黑盒测试。黑盒测试是一种确 认技术,目的是确认“设计的系统是否正确” ,黑盒测试是以用户的观点, 从输入数据与输出数据的对应关系, 也就是根据程序外部特征进行的测试, 而不考虑程序内部结构及工作情况。白盒测试方法深入到了程序内部,能 从程序具体体现的角度发现问题。