请运用等价类和边界值的方法,编写测试用例。
作业2:
假定一台ATM取款机允许提取的增量为50元,总额为从50元到5000元不等的现金,并要求一次最多取2000元,一天最多取5000元,一天最多取3次,请运用等价类和边界值的思想编写测试用例。
jMAQn
答:
用例编号
输入数据
预期结果
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
发放号V10
T
T
T
T
T
T
T
T
发放号>10
T
T
A发放号数wB发放号数
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邮箱注册模块的测试用例(假设没有重复的用户名),条件如图所示
启黑提云:
嵐机上次豊录Bdl行证^户名是:
kric_536O@l63.€om
诗壇h安全设苞I氐下肓見农保尸您3脈号玄主曲盂車要>询否自車煩写孵id〕
测试用例如下:
用例编写
测试步骤
输入数据
预期结果
1
输入用户名,密码和确认密码
用户名:
a09.-_z密码:
123456确认密码:
123456
注册成功
2
输入用户名,密码和确认密码
用户名:
aaOO密码:
123456确认密码:
123456
注册成功
3
输入用户名,密码和确认密码
用户名:
OOaa密码:
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=
monthw12和1Wdayw31),分别作为输入日期的月份、日期、年份,通过程序可以输出该输入日期在日历上后面的隔一天的日期。
例如,输入为2004年11月29日,则程序输出为2004年12月1日。
Feo1T。
设计如下:
(1)Month的有效等价类
M1
{month=4、6、9、11}
M2
{month=1、3、5、7、8、10}
M3
{month=12}
M4
{month=2}
Day的有效等价类
D1
{1wdayw26}
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
动
作
al
V
V
V
a2
V
V
V
a3
V
V
V
a4
V
V
V
V
a5
V
V
a6
V
V
a7
V
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
一
动
作
al
V
a2
V
V
a3
V
V
a4
V
V
V
V
a5
a6
a7
V
V
(4)测试用例
用例编号
Month
Day
Year
预期输出
TestOI
4
25
2010
4/27/2010
Test02
4
29
2010
5/1/2010
Test03
4
30
2010
5/2/2010
TestO4
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
TestIO
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角硬币。
给出用因果图法设计这个实例的测试用例的具体步骤:
NfrMT。
原因(输入):
①投入1.5元硬币;
2投入2元;
3按“可乐”按钮;
4按“雪碧”按钮;
5按“红茶”按钮。
中间状态:
①已投币;②已按钮
结果(输出):
①退还5角硬币;
2送出“可乐”饮料;
3送出雪碧饮料;
4送出“红茶”饮料;
5
因果图转换为判定表
根据原因和结果‘我们可以设计这样一个因果图
因果图转换为判定表
4
5
6
7
8
9
IQ
111
投入2.5元硕币
(1)
1
1
1
1
0
0
0
0
0
0
0
投入3元硕币
⑵
0
0
0
0
1
1
1
1
0
0
0
输入
按可乐按饥
(3)
1
0
0
0
1
0
0
0
1
0
0
按叫!
洒按钮
⑷
0
1
0
0
0
1
0
0
0
1
0
按奶茶按祖
⑸
0
0
1
0
0
0
1
0
0
0
1
中间
C投币
(11)
1
1
1
1
1
1
1
1
0
0
0
结点
己按钮
(12)
1
1
1
0
1
1
1
0
1
1
1
退还5角
(21)
0
0
a
0
1
1
1
0
0
0
0
榆出
送出可乐
(22)
1
0
0
0
1
0
0
0
0
%
送出闻酒
(23)
0
1
0
0
0
1
0
0
0
送出奶茶
(24)
0
0
1
0
0
0
1
00
0
不根据判定丧设计测试用例
用捌编号
胭说明输入数据
预期结果
SUJ001
投入便币、按F按钮
Z5元、叮乐按忸
送岀可乐
SHJ-002
投入嶼币、按卜按钳
£5兀、聘酒按钮
送出啤酒
SHJ'003
投入哽币、按卜按钮
乙五元、奶茶按钮
送出奶茶
SIU004
投入诀币
2.5元
给出提示信息
SRJ-005
投入帧按F按钮
可乐按钮
找0.6/C.送出可乐
SI1.1-006
投人耀币、按卜按钿
3元、哪酒按钿
找a3元、送出卿酒
SHJ-007
投入鰹币’按卜按钮
3元、期茶按钮
找0击冗、送山奶茶
SHJ-Q08
投入霞币
3元
给出提示荷息
SHJ-009
按F按忸
可乐按钗
给岀提示信息
SHT-010
按下按钮
啤酒按钮
给出提刑站*
SilJon
按下按钮
奶慕按机
if((A>1)&&(B=0))
Y-y/A-if((A=2)||(X>1))
X=X+1;
语句覆盖
覆盖路径
测试用例
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