白盒测试用例练习 白盒测试用例练习 1.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图
void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z5) ) { j=x*y+10; } //语句块 2 j=j%3; //语句块 3 k=0 j=0 k=x*y-1 j=sqrt(k) x>3 and z5 e Y j=x*y+10 N d j=j%3 由这个流程图可以看出,该程序模块有 4 条不同的路径: P1:(a-c-e) P2:(a-c-d) P3:(a-b-e) P4:(a-b-d) 将里面的判定条件和过程记录如下: 判定条件 M={x>3 and z5} 1、 语句覆盖 测试用例输入 输出 判定 M 的取值 判定 N 的取值 覆盖路径 x=4,z=5,y=8 k=31,j=0 T T P1(a-c-e) 2、判定覆盖 p1 和 p4 可以作为测试用例,其中 p1作为取真的路径,p4 作为取反的路径
测试用例输入 输出 判定 M 的取值 判定 N 的取值 覆盖路径 x=4,z=5,y=8 k=31,j=0 T T P1(a-c-e) x=2,z=11,y=5 k=0,j=0 F F P4(a-b-d) 也可以让测试用例测试路径 P2 和 P3
相应的两组输入数据如下: 测试用例输入 输出 判定 M 的取值 判定 N 的取值 覆盖路径 x=5,z=5,y=4 k=19,j=sqrt(19)%3 T F P2(a-c-d) x=4,z=11,y=6 k=0,j=1 F T P3(a-b-e) 3、条件覆盖 对于 M:x>3 取真时 T1,取假时 F1; z5 取真时 T4,取假时 F4
条 件 : x>3,z5 条