白盒测试用例练习题.docx
《白盒测试用例练习题.docx》由会员分享,可在线阅读,更多相关《白盒测试用例练习题.docx(3页珍藏版)》请在冰豆网上搜索。
![白盒测试用例练习题.docx](https://file1.bdocx.com/fileroot1/2022-10/9/d172e1be-49ce-42f6-9f24-224955743418/d172e1be-49ce-42f6-9f24-2249557434181.gif)
白盒测试用例练习
1.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。
voidDoWork(intx,inty,intz)
{
intk=0,j=0;
if((x>3)&&(z<10))
{k=x*y-1;
j=sqrt(k);//语句块1
}
if((x==4)||(y>5))
{
j=x*y+10;
}//语句块2
j=j%3;//语句块3
k=0
j=0
k=x*y-1
j=sqrt(k)
x>3
and
z<10
}
a
Y c
N
b
x=4
or
y>5
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>3andz<10}
判定条件N={x=4ory>5}
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;
z<10取真时T2,取假时F2;
对于N:
x=4取真时T3,取假时F3;
y>5取真时T4,取假时F4。
条件:
x>3,z<10,x=4,y>5
条件:
x<=3,z>=10,x!
=4,y<=5
根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示:
测试用例输入
输出
取值条件
具体取值条件
覆盖路径
x=4,z=5,y=8
k=31,j=0
T1,T2,T3,T4
x>3,z<10,x=4,y>5
P1(a-c-e)
x=3,z=11,y=5
k=0,j=0
F1,F2,F3,F4
x<=3,z>=10,x!
=4,y<=5
P4(a-b-d)
4、判定/条件覆盖
测试用例输入
输出
取值条件
具体取值条件
覆盖路径
x=4,z=5,y=8
k=31,j=0
T1,T2,T3,T4
x>3,z<10,x=4,y>5
P1(a-c-e)
x=3,z=11,y=5
k=0,j=0
F1,F2,F3,F4
x<=3,z>=10,x!
=4,y<=5
P4(a-b-d)
5、组合覆盖
条件组合
1)x>3,z<102)x>3,z>=10
3)x<=3,z<104)x<=3,z>=10
5)x=4,y>56)x=4,y<=5
7)x!
=4,y>58)x!
=4,y<=5
测试用例输入
输出
覆盖条件取值
覆盖条件组合
覆盖路径
x=4,z=5,y=6
k=23,j=1
T1,T2,T3,T4
1,5
P1(a-c-e)
x=4,z=10,y=5
k=0,j=0
T1,F2,T3,F4
2,6
P2(a-c-d)
x=3,z=5,y=6
k=14j=1
F1,T2,F3,T4
3,7
P3(a-b-e)
z=3,z=10,y=5
k=0,j=2
F1,F2,F3,F4
4,8
P4(a-b-d)
6、路径覆盖
测试用例输入
输出
覆盖条件取值
覆盖条件组合
覆盖路径
x=4,z=5,y=8
k=31,j=0
T1,T2,T3,T4
1,5
P1(a-c-e)
x=5,z=5,y=4
k=19,j=sqrt(19)%3
T1,T2,F3,F4
1,8
P2(a-c-d)
x=4,z=11,y=6
k=0,j=1
T1,F2,T3,T4
2,5
P3(a-b-e)
x=2,z=11,y=5
k=0,j=0
F1,F2,F3,F4
4,8
P4(a-b-d)