请运用等价类和边界值的方法,编写测试用例。
作业2:
假定一台ATM取款机允许提取的增量为50元,总额为从50元到5000元不等的现金,并要求一次最多取2000元,一天最多取5000元,一天最多取3次,请运用等价类和边界值的思想编写测试用例。
答:
用例编号
输入数据
预期结果
1
一次取50元
提取成功
2
一次取2000元
提取成功
3
一次取20元
提取失败
4
一次取2050
提示一次最大取2000
5
取三次2000+2000+1000
提取成功
6
取三次2000+2000+1050
提示一天最多取5000
7
取三次50+50+50
提取成功
8
取四次前三次不大于5000
提示一天最多取三次
9
ATM机余额不足
提示ATM机余额不足,用户操作被取消
10
卡内余额不足
提示卡内余额不足,用户操作被取消
11
取款过程出现故障
取款过程出现故障,用户操作被取消
12
卡被吞掉
卡被吞掉,用户操作被取消
作业3:
需求分析题,设计测试用例:
银行系统:
有两个普通窗口A,B和一个VIP窗口,每个窗口只能发放10个号。
A.没有持有VIP的客户只能在普通窗口A,B办理业务。
B.VIP客户优先安排在VIP窗口办理业务,如果VIP窗口不能再发放号码,则到普通窗口A办理。
C.对公业务只能在普通窗口A办理(办理业务的时间是星期一到星期六)。
D.其他业务在普通窗口A,B办理。
E.在分配时优先考虑人数最少的窗口
1
2
3
4
5
6
7
8
9
10
普通客户
T
T
T
T
T
T
VIP客户
T
T
T
T
发放号﹤10
T
T
T
T
T
T
T
T
发放号>10
T
T
A发放号数≤B发放号数
T
T
A发放号数>B发放号数
T
T
正常业务
T
T
对公业务
T
T
T
其它业务
星期一~星期六
T
T
星期日
T
A窗口
T
T
T
不办理
T
T
B窗口
T
T
VIP窗口
T
作业4:
编写163邮箱注册模块的测试用例(假设没有重复的用户名),条件如图所示。
测试用例如下:
用例编写
测试步骤
输入数据
预期结果
1
输入用户名,密码
和确认密码
用户名:
a09.-_z
密码:
123456
确认密码:
123456
注册成功
2
输入用户名,密码
和确认密码
用户名:
aaO0
密码:
123456
确认密码:
123456
注册成功
3
输入用户名,密码
和确认密码
用户名:
0Oaa
密码:
123456
确认密码:
123456
注册成功
4
输入用户名,密码
和确认密码
用户名:
aaaa
密码:
123456
确认密码:
123456
注册成功
5
输入用户名,密码
和确认密码
用户名:
aaaaaaaaaaaaaaaaaa(18个)
密码:
123456
确认密码:
123456
注册成功
6
输入用户名,密码
和确认密码
用户名:
bbbb
密码:
az09.@
确认密码:
az09.@
注册成功
7
输入用户名,密码
和确认密码
用户名:
bbbb
密码:
abcedf0123456789
确认密码:
abcedf0123456789
注册成功
8
输入用户名,密码
和确认密码
用户名:
@#$&
密码:
123456
确认密码:
123456
提示用户名非法,请重新输入
9
输入用户名,密码
和确认密码
用户名:
空格
密码:
123456
确认密码:
123456
提示用户名非法,请重新输入
10
输入用户名,密码
和确认密码
用户名:
-_
密码:
123456
确认密码:
123456
提示用户名只能以数字或字母开头和结尾,请重新输入
11
输入用户名,密码
和确认密码
用户名:
aaa
密码:
123456
确认密码:
123456
提示用户名的长度为4~18,请重新输入
12
输入用户名,密码
和确认密码
用户名:
aaaaaaaaaaaaaaaaaaa(19)
密码:
123456
确认密码:
123456
提示用户名的长度为4~18,请重新输入
13
输入用户名,密码
和确认密码
用户名:
aaaa
密码:
确认密码:
提示密码不能为空,请重新输入
14
输入用户名,密码
和确认密码
用户名:
aaaa
密码:
123456
确认密码:
654321
提示密码和确认密码不一致,请重新输入
15
输入用户名,密码
和确认密码
用户名:
aaaa
密码:
12345
确认密码:
12345
提示密码长度为6~16,请重新输入
16
输入用户名,密码
和确认密码
用户名:
aaaa
密码:
1234567890abcefgh
确认密码:
1234567890abcefgh
提示密码长度为6~16,请重新输入
17
输入用户名,密码
和确认密码
用户名:
aaaa
密码:
abcdef
确认密码:
ABCDEF
提示密码和确认密码不一致,请重新输入
请为下面的程序设计用例:
该程序有三个输入变量month、day、year(month、day、year均为整数值,并且满足:
1≦month≦12和1≦day≦31),分别作为输入日期的月份、日期、年份,通过程序可以输出该输入日期在日历上后面的隔一天的日期。
例如,输入为2004年11月29日,则程序输出为2004年12月1日。
设计如下:
(1)Month的有效等价类
M1{month=4、6、9、11}M2{month=1、3、5、7、8、10}
M3{month=12}M4{month=2}
Day的有效等价类
D1{1≦day≦26}D2{day=27}
D3{day=28}D4{day=29}
D5{day=30}D6{day=31}
Year的有效等价类
Y1{year是闰年}Y2{year不是闰年}
(2)根据各种有效的输入情况,程序中可能采取的操作有以下7种:
a1{day+2}a2{day=2}
a3{day=1}a4{month+1}
a5{month=1}a6{year+1}
a7{不可能}
(3)决策表
1
2
3
4
5
6
7
8
9
10
条件
Month
M1
M1
M1
M1
M2
M2
M2
M3
M3
M3
Day
D1~D3
D4
D5
D6
D1~D4
D5
D6
D1~D4
D5
D6
Year
—
—
—
—
—
—
—
—
—
—
动作
a1
√
√
√
a2
√
√
√
a3
√
√
√
a4
√
√
√
√
a5
√
√
a6
√
√
a7
√
11
12
13
14
15
16
17
18
条件
Month
M4
M4
M4
M4
M4
M4
M4
M4
Day
D1
D2
D3
D3
D3
D4
D4
D5、D6
Year
—
Y1
Y2
Y1
Y2
Y1
Y2
—
动作
a1
√
√
a2
√
√
a3
√
√
a4
√
√
√
√
a5
a6
a7
√
√
(4)测试用例
用例编号
Month
Day
Year
预期输出
Test01
4
25
2010
4/27/2010
Test02
4
29
2010
5/1/2010
Test03
4
30
2010
5/2/2010
Test04
4
31
2010
提示:
不可能
Test05
3
29
2010
3/31/2010
Test06
3
30
2010
4/1/2010
Test07
3
31
2010
4/2/2010
Test08
12
29
2010
12/30/2010
Test09
12
30
2010
1/1/2011
Test10
12
31
2010
1/2/2011
Test11
2
26
2010
2/28/2010
Test12
2
27
2008
2/29/2008
Test13
2
27
2009
3/1/2009
Test14
2
28
2008
3/1/2008
Test15
2
28
2009
3/2/2009
Test16
2
29
2008
3/2/2008
Test17
2
29
2009
提示:
不可能
Test18
2
30
2010
提示:
不可能
有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。
若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。
若投入的是2元硬币,在送出饮料的同时退还5角硬币。
给出用因果图法设计这个实例的测试用例的具体步骤:
原因(输入):
①投入1.5元硬币;
②投入2元;
③按“可乐”按钮;
④按“雪碧”按钮;
⑤按“红茶”按钮。
中间状态:
①已投币;②已按钮
结果(输出):
①退还5角硬币;
②送出“可乐”饮料;
③送出雪碧饮料;
④送出“红茶”饮料;
因果图转换为判定表
语句覆盖
覆盖路径
测试用例
A,c,d,e
A=2,B=0,X=1
判定覆盖
条件A>1&&B=0取真值为T1取假值为-T1
条件A=2||x>1取真值为T2取假值为-T2
覆盖条件
测试用例
覆盖路径
T1T2
A=2,B=0,X=1
A,c,d,e
-T1-T2
A=-1,B=1,X=0
A,b,d,f
分支条件覆盖
条件A>1取真值为T1取假值为-T1
条件B=0取真值为T2取假值为-T2
条件A=2取真值为T3取假值为-T3
条件X>1取真值为T4取假值为-T4
测试用例
通过路径
条件取值
覆盖分支
A=2,B=0,X=1
A,c,d,e
T1T2T3T4
C,e
A=-1,B=1,X=0
A,b,d,f
-T1-T2-T3-T4
B,f
条件组合覆盖
1.条件A>1,B=0,记做T1T2,第一个判定分支为真
2.条件A<=1,B=0,记做-T1T2,第一个判定分支为假
3.条件A>1,B!
=0,记做T1-T2,第一个判定分支为假
4.条件A<=1,B!
=0,记做-T1-T2,第一个判定分支为假
5.条件A=2,X>1,记做T3T4,第二个判定分支为真
6.条件A!
=2,X>1,记做-T3T4,第二个判定分支为真
7.条件A=2,X<=1,记做T3-T4,第二个判定分支为真
8.条件A!
=2,X<=1,记做-T3-T4,第二个判定分支为假
测试用例
通过路径
条件取值
覆盖组合号
A=2,B=0,X=2
A,c,d,e
T1T2T3T4
1,5
A=3,B=0,X=2
A,c,d,e
T1T2-T3T4
1,6
A=2,B=0,X=1
A,c,d,e
T1T2T3-T4
1,7
A=-1,B=1,X=0
A,b,d,f
T1-T2-T3-T4
3,8
A=-1,B=0,X=0
A,b,d,f
-T1T2-T3-T4
2,8
A=-1,B=1,X=0
A,b,d,f
-T1-T2-T3-T4
4,8
路径测试
测试用例
通过路径
条件取值
覆盖组合号
A=2,B=0,X=2
A,c,d,e
T1T2T3T4
1,5
A=3,B=0,X=2
A,c,d,e
T1T2-T3T4
1,6
A=2,B=0,X=1
A,c,d,e
T1T2T3-T4
1,7
A=-1,B=1,X=0
A,b,d,f
T1-T2-T3-T4
3,8
A=-1,B=0,X=0
A,b,d,f
-T1T2-T3-T4
2,8
A=-1,B=1,X=0
A,b,d,f
-T1-T2-T3-T4
4,8