资源描述
作业1:
某程序实现如下功能:输入三个整数A、B、C,输出以A、B、C为三边的三角形面积(1<A、B、C<100)。
请运用等价类和边界值的方法,编写测试用例。
作业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
展开阅读全文