习题解答1_v2.0
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
100---
-1010
-
动 进行优先处理
√√
√
作 作其他处理
√
√
7、某城市电话号码由三部分组成,分别是:(P78) 地区码—— 空白或三位数字; 前 缀—— 非‘0’或‘1’开头的三位数字; 后 缀—— 4 位数字。 假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话
号码。要求: (1)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法 的步骤,给出测试用例表。
解答:
基本步骤如下:
(1) 分析程序的规格说明,列出原因和结果。
原因
结果
C1:年薪制员工
R1:扣年终风险金的 4%
C2:非年薪制员工
R2:扣年终风险金的 2%
C3:严重过失
R3:扣当月薪资的 8%
C4:过失
R4:扣当月薪资的 4%
(2) 找原因与结果之间的因果关系、原因与原因之间的约束关系并画出因果 图。
C5:押下啤酒按钮
中间状态:I1. 投入 1 元硬币且押下饮料按钮 I2. 按下〖橙汁〗或〖啤酒〗的按钮
I3. 应当找 5 角零钱并且售货机有零钱找
(3) 将因果图转换成决策表。
1234567891 1 1 1 1 1 1
0123456
C 0000100110 1 0 1 1 1 1
1
C 0001001101 0 1 0 1 1 1
2
C 0010011000 1 1 1 0 1 1
3
C 0100010011 0 1 1 1 0 1
4
R
0
00 1 0 1
Step3. 将因果图转化成决策表如下:
为了简化决策表的规模,先将条件 C1,C2,C3 去掉。得到的决策表如下:
条件
决策
C4:a<b+c
01
1
1
1
1
1
1
C5:b<a+c
-0
1
1
1
1
1
1
-
C6:c<a+b
--
0
1
1
1
1
1
--
C7:a=b
--
-
1
1
0
0
0
--
-
C8:a=c
--
-
1
0
1
0
0
--
-
C9:b=c
习题解答
第三章 黑盒测试及其用例
1、NextDate 函数(P28)
请使用等价类划分法为 NextDate 函数列出输入域等价类表,并设计相应的测试用例。
解答:
NextDate 函数包含三个变量 month、day 和 year,函数的输出为输入日期后一天的日期。
要求输入变量 month、day 和 year 均为整数值,并且满足下列条件:
的饮料就送出来。(每次只投入一个硬币,只押下一种饮料的按钮)
如投入 5 角的硬币,按下按钮后,总有饮料送出。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯会亮,这时再投入
1 元硬币并按下按钮后,饮料不送出来而且 1 元硬币也退出来。
若有零钱找,则显示〖零钱找完〗的红灯不会亮,若投入 1 元硬币及按
上的机器应予以优先的维修处理……”。
这里假定“维修记录不全”和“优先维修处理”有严格的定义。
请建立该需求的决策表,并绘制出化简(合并规则)后的决策表。
解答:
根据题目意思,得到本题有三个条件:
C1:功率大于 50 马力
C2:维修记录不全
C3:已经运行 10 年以上
三个条件有
种选择,得到如下表的决策表。
条件 1 1≤ month ≤12
条件 2 1≤ day ≤31
条件 3 1912≤ year ≤2050
分析程序规格说明中给出和隐含的对输入条件的要求。列出等价类表
*年份:闰年、非闰年(1912≤ year ≤2050)
*月份:1-12 月
*天数:1、3、5、7、8、10、12(31 天),4、6、9、11(30 天),2(28 或 29)
0 < R <= 100, R <= P <= 100, RR = 5
0 < R <= 100, R <= P <= 100, RR = 4
0 < R <= 100, R <= P <= 100, RR = 1
0 < R <= 100, R <= P <= 100, RR = 0
Step5. 为 满 足 以 上 之 各 种 情 形 , 测 试 资 料 设 计 如 下 :
(2)如果所生成的测试用例不够全面,请考虑用别的测试 方法生成一些补充的测试 用例。
解答:(1)采用等价类划分方法,因为这种方法设计出的测试用例比较全面,易于发现 错误。
输入
有效等
编 无效等价
编 a.首先为等价类表中的
条件
价类
号类
号 每一个等价类分别规定一个
有非数字
5 唯一的编号。
地区
空白
字符
b.设计一个新的测试用
P > 100 R<= P <= 100 P < R
Step2. 输出:
N50 = 1 N50 = 0 4 > N10 >= 1 N10 = 0 N5 = 1 N5 = 0 4 > N1 >=
1 N1 = 0
Step3.分 析 规 格 中 每 一 决 策 点 之 情 形 ,以 RR1, RR2, RR3 表 示 计 算
4
非年薪制员工,过失
扣当月薪资的 4%
5
非年薪制员工,严重过失
扣当月薪资的 8%
6
非年薪制员工,过失,严重过
扣当月薪资的 8%
失
5、根据教材 P85 中给出的简化后的决策表,设计相应的测试用例。(P74)(没有教材) 6、某软件的一个模块的需求规格说明书中描述:(P74)
“……对于功率大于 50 马力的机器或者维修记录不全的或已经运行 10 年以
1. 货品价格 = 101
2. 货品价格 = 0
3.货品价格 = -1
4. 货品价格 = 100, 付款金额 = 101 5. 货品价格 = 100, 付款金额 = 99
6. 货品价格 = 50, 付款金额 = 100 7. 货品价格 = 51, 付款金额 = 100
8. 货品价格 = 90, 付款金额 = 100 9. 货品价格 = 91, 付款金额 = 100
2,3,4
3
20
14
拒绝(无
5
A
23 567 效)
25
拒绝(无
4
33 34 678 效)
6
12
24
拒绝(无
5
34
34 567 效)
7
12
21
拒绝(无
6
3
B3 234 效)
8
12
01
拒绝(无
7
3
13 234 效)
9
12
11
拒绝(无
8
3
23 234 效)
10
9
12
21
拒绝(无
11
3
3 234 效)
10
1 类均被测试用例所覆盖。
‘1’
0
少于 3 位
1
字符
1
测试用例:
多于 3 位
1
数字
2
有非数字
1
后缀
4 位数
4 字符
3
字
少于 4 位
1
数字
4
多于 4 位
1
数字
5
测试
输入数据
预期输出
覆盖等
用例
地
前后
价类
编号 区码 缀 缀
1
空
14
接受(有
白
23 567 效)
1,3,4Байду номын сангаас
2
12
89
接受(有
3
05 876 效)
要 找 50, 10, 5 元 货 币 数 时 之 剩 余 金 额 。
R > 100R <= 0 P > 100 P < R RR1 >= 50 RR2 >= 10 RR3 >= 5
Step4. 由 上 述 之 输 入/ 输 出 条 件 组 合 出 可 能 的 情 形 。
R > 100
R <= 0
0 < R <= 100, P > 100
0 < R <= 100, P < R
0 < R <= 100, R <= P <= 100, RR = 50
0 < R <= 100, R <= P <= 100, RR = 49
0 < R <= 100, R <= P <= 100, RR = 10
0 < R <= 100, R <= P <= 100, RR = 9
年月
份份数
22
000
8
11
989 0 0
11
989
1
26
003
0
22
005
8
24
000
9
预期输 出 天 下一天 日期 2 2000-2 -29 1 1989-1 0-11 3 1989-2 -1 3 2003-7 -1 2 2005-3 -1 2 2000-4 -30
7
2 2 2 2000-3
008
--
-
1
0
0
1
0
--
-
R1: 非 三 角
√√ √
形
R2: 普 通 三
√
角形
R3: 等 腰 三
√√√
角形
R4: 等 边 三
√
角形
无输出
Step4. 根据设计的决策表设计测试用例的输入数据和预期输出如下表:
测试用例
输入数据
预期输出
编号
a
b
c
1
20
1
3
非三角形
2
1
20
2
非三角形
3
1
3
20
非三角形
4
6
6
6
等边三角
1
R
0
10 0 0 0
2
R
1
00 0 1 0
3
R
0
01 0 0 0
4
(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。
得到的测试用例如下表:
用例编号
输入数据
预期输出
1
年薪制员工,过失
扣年终风险金的 2%
2
年薪制员工,严重过失
扣年终风险金的 4%
3
年薪制员工,过失,严重过失
扣年终风险金的 4%
12345678
C1:功率大于 50
马力 条
C2:维修记录不全 件
C3:运行超过 10
年
11110000
11001100 10101010
动 进行优先处理
√√√
√
√
作 作其他处理
√
√
√
合并后的决策表如下:
12345
C1:功率大于 50 马力 1 1 1 0 0
条 C2:维修记录不全
件 C3:运行超过 10 年
饮料按钮,则送出饮料的同时找回 5 角硬币。
请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,设计出相
应的测试用例。
解答:
采用因果图法,步骤如下:
Step1. 分析程序的规格说明,列出原因和结果。
原因:C1:售货机有零钱找 C2: 投入 1 元硬币 C3: 投入 5 角硬币
C4:押下橙汁按钮
店的货币面值只包括:50 元(N50)、10 元(N10)、 5 元(N5)、1 元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计 出相应的测试用例。
解答:
根据等价类划分法和边界值分析法的基本定义,得到下列基本认识:
Step1. 输入:
商品价格 R 和顾客付款 P 有以下情况:
R > 100 0 < R < = 100 R <= 0
形
5
6
6
5
等腰三角
形
6
6
5
6
等腰三角
形
7
5
6
6
等腰三角
形
8
3
4
5
普通三角
形
4、某软件的一个模块的需求规格说明书中描述:
(1)年薪制员工:严重过失,扣年终风险金的 4%;过失,扣年终风险金的 2%。
(2)非年薪制员工:严重过失,扣当月薪资的 8%;过失,扣当月薪资的 4%。
请绘制出因果图和判定表,并给出相应的测试用例。
10. 货品价格 = 95, 付款金额 = 100 11. 货品价格 = 96, 付款金额 = 100
12. 货品价格 = 99, 付款金额 = 100 13. 货品价格 = 100, 付款金额 = 100
3、使用因果图法为三角形问题设计测试用例。(P61) 解答: Step1. 列出原因结果: 因为题划分三角形主要是以边是否相等作为依据的,因此添加三个条件如下: 条件 7 a=b 条件 8 a=c 条件 9 b=c。 为了在画因果图时表达简便清楚,我们分别用 C1—C9 代表条件 1 至条件 9。 最终的到的输出结果有以下四种,分别用 R1,R2,R3,R4 代表: R1:边输入不正确 R2:普通三角形 R3:等腰三角形 R4:等边三角形 中间结果有四个: I0:边范围正确 I1:可以构成三角形 I2:任意两条边相等 I3:三条边两两相等 Step2. 画出因果图,如下:
12
21
拒绝(无
12
3
345 234 效)
11
12
21
拒绝(无
13
3
34 B34 效)
12
23
拒绝(无
12 3
34 4
效)
14
12
22
拒绝(无
13 3
34 3345 效)
15
(2)上述方法设计出的测试用例已经相当完善,无须补充。
8、有一个处理单价为 5 角钱的饮料的自动售货机,相应规格说明如下:
若投入 5 角钱或 1 元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应
码
少于 3 位
6 例,使它能够尽量覆盖尚未
3 位数字
数字
覆盖的有效等价类。重复这
多余 3 位 数字
7 个步骤,直到所有的有效等 价类均被测试用例所覆盖。
前缀
200-99
9
有非数字 字符 3 起始位为 ‘0’
起始位为
8
c.设计一个新的测试用
例,使它仅覆盖一个尚未覆
9 盖的无效等价类。重复这一 步骤,直到所有的无效等价
9 -1
8
2 4 2 无法推
060
算
9
2 1 5 无法推
030 4
算
10
2 2 3 无法推
000
0算
2、找零钱最佳组合(P47)
假设商店货品价格(R) 都不大于 100 元(且为整数),若顾客付款(P)在 100 元内,现有
一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商
等价类表
输入
有效等价类
编 无效等价类
编
条件
号
号
年份
闰年
1 年份不在(1912-2050)
8
非闰年
2 之间
月份
1、3、5、7、8、10、 3 月份不在 1-12 之间
9
12
4、6、9、11
4
2
5
天数
1-27
6 非有效日期
1
28/29/30/31
7
0
测试用例 测试用例 编号
1 2 3 4 5 6
输入数据