等价类+因果图习题及答案
(2)如果三条件边相等,则程序输出为“等边三角形”;
(3)如果恰好有两条边相等,则程序输出为“等腰三角形”;
(4)如果三条边都不相等,则程序输出为“一般三角形”
这四种情况是相互排斥的。
要求:写出标准等价类表,健壮等价类表,边界值测试用例表
答案:
1、使用逻辑覆盖测试方法测试以下程序段
void DOWork(int x,int y,int z)
业务流程图如下:单击登录按钮开始进入如下界面,然后输入账号或者邮件地址、密码、验证码。
账号或邮箱:
密码:
验证码:
下次登录(按钮)
登录按钮
测试用例:
(1)输入错误的账号,其他各项正确。
(2)输入错误的邮件地址,其他各项正确。
(3)输入正确的账号,输入错误的口令,验证码正确。
(4)输入正确的账号和口令,输入错误的验证码。
((x>3)&&(z<10)):1)((x>3)&&(z<10))满足,设计测试用例x=4,z=5;
2)((x<3)&&(z<10)),设计测试用例x=2, z=5;
3)((x>3)&&(z>10)),设计测试用例x=4,z=15;
3)((x<3)&&(z>10)),设计测试用例x=2,z=15;
上面2)3)可以合为一个测试用例:z=15;
9 j=j%3;
}
要求(1)画出程序段的控制流图
(2)分别以条件覆盖,路径覆盖方法设计测试用例
测试用例表
方法
测试用例
执行路径
条件覆盖
路径覆盖
2、使用逻辑覆盖测试方法测试以下程序段
void Do(int X,int A,int B)
{
1 if((A>1)&&(B==0))
2 X=X/A;
3 if((A==2)||(X>1))
((x>3)&&(z<10))((x==4)||(y>5))
(1,2,5,6)
x=4,z=5,y=6;
x=4,z=15,y=6;
(3,7)x=2,z=5, y=3;
(4,8)x=2,z=15,y=6;
;
测试用例表
方法
测试用例
执行路径
条件覆盖
x=2, y=6, z=5
x=4, y=5, z=15
2->7->8->9
条件2 1<= b <=100
条件3 1<= c <=100
条件4 a<b+c
条件5 b<a+c
条件6 c<b+a
如果输入的值不满足这些条件的任何一个,程序给出相应的信息,如“a的取值不在允许的范围内”等;
如果a,b,c满足条件1、条件2、条件3。则输出下列四种情况之一:
(1)如果不满足条件4、条件5、条件6中的一个,则程序输出为“非三角形”
2->7->8->9
路径覆盖
x=4, y=6, z=5
x=2, y=6, z=15
x=5, y=5, z=5
x=2, y=5, z=5
2->4,5->7->8->9
2->7->8->9
2->4,5->7->9
2->7->9
2、使用逻辑覆盖测试方法测试以下程序段
void Do(int X,int A,int B)
X=1, A=3, B=1
1->2->3->4->5
1->3->5
1->3->4->5
1->2->3->5
3、以此为例根据业务流程设计用户登录的流程图,然后依据流程图设计手动测试用例(假如密码只允许试三次)。
业务流程图如下:单击登录按钮开始进入如下界面,然后输入账号或者邮件地址、密码、验证码。
账号或邮箱:
表2.11 “用户名”和“密码”水平表
因素
水平
用户名
密码
(4)选择正交表。本例中确定的因素和水平如表2.12所示。根据表2.12,选择正交表,如表2.13所示。
表2.12 确定的因素和水平对照表
因素
水平
服务器
端口
用户名Байду номын сангаас
密码
表2.13 测试用例表
序号
因素
水平
服务器
端口
用户名
密码
期望值
实测值
1
2
3
4
5
6
((x==4)||(y>5)): 1)((x==4)||(y>5))设计测试用例 x=4,y=6;
2)((x==4)||(y<5))设计测试用例 x=4, y=3;
3)((x!=4)||(y>5)),设计测试用例 x=2,y=6;
4)((x!=4)||(y<5)),设计测试用例x=2,y=3;
由于x=4第一个条件已经考虑,所以上面1)2)合成x=2,y=6;
路径覆盖
X=3, A=1, B=0
X=1, A=1, B=0
X=1, A=2, B=1
X=1, A=3, B=1
1->2->3->4->5
1->3->5
1->3->4->5
1->2->3->5
3、以此为例根据业务流程设计用户登录的流程图,然后依据流程图设计手动测试用例(假如密码只允许试三次)。《完美测试》p58
{
1 if((A>1)&&(B==0))
2 X=X/A;
3 if((A==2)||(X>1))
4 X=X+1;
5 }
要求(1)画出程序段的控制流图
(2)分别以条件覆盖,路径覆盖方法设计测试用例
方法
测试用例
执行路径
条件覆盖
X=3, A=1, B=0
X=1, A=2, B=1
1->3->4->5
1->3->4->5
∨∧
E
图9.13因果图
(3)根据因果图生成判定,并设计测试用例。
规则
1
2
3
4
5
6
因
C1
1
0
0
0
0
1
C2
0
1
0
0
1
0
C3
1
1
0
1
0
0
果
G1
1
1
0
0
0
0
G2
0
0
1
1
0
0
G3
0
0
1
0
1
1
测试用例(输入)
A8
B5
CD
D6
B*
C%
6、在某应用系统中,系统登录界面如图2.6所示。(《软件测试新技术》p31)
(5)输入正确的邮件地址,输入错误的口令,验证码正确
(6)输入正确的邮件地址和口令,输入错误的验证码
(7)输入正确的账号,口令和验证码
(8)输入正确的邮件地址,口令和验证码
(9)输入正确的账号,口令和验证码,点击“看不清,换一张”
(10)输入正确的账号,口令和验证码,标记“下次自动登陆”
(11)输入正确的账号,口令和验证码,去掉“输入正确的账号,口令和验证码”标记
(1)划分有效等价类和无效等价类。
输入数据有出生年月、数值本身、月份3个等价类,并为此划分有效等价类和无效等价类,见下表:
输入条件
有效等价类
无效等价类
出生年月
6位数字字符
有非数字字符
少于6位数字字符
多于6位数字字符
数值本身
在197807~198706之间
<197807
>198706
月份
在01~12之间
等于00
>12
(2)设计有效等价类需要的测试用例。为覆盖 、 、 三个有效等价类,可以设计一个共用的测试用例:
测试数据
预期结果
测试范围
198011
输入有效
、 、
(3)为每一个无效等价类至少设计一个测试用例:
测试数据
预期结果
测试范围
May,79
输入无效
19803
输入无效
1981112
输入无效
197602
4 X=X+1;
5 }
要求(1)画出程序段的控制流图
(2)分别以条件覆盖,路径覆盖方法设计测试用例
方法
测试用例
执行路径
条件覆盖
X=3, A=1, B=0
X=1, A=2, B=1
1->3->4->5
1->3->4->5
路径覆盖
X=3, A=1, B=0
X=1, A=1, B=0
X=1, A=2, B=1
输出错误信息M2。试用因果图法设计测试用例。
设计方法:
(1)分析规格说明书中,并确定“因”与“果”。
得到的“因”是:
C1----第一个字符是A
C2----第一个字符是B
C3----第二个字符是数字
得到的“果”是:
G1----修改文件
G2----输出错误信息M1
G3----输出错误信息M2
(2)画出因果图。(一般如有可能,应将节点按时序竖列)
7
8