黑盒测试作业参考标准答案.doc

  • 格式:doc
  • 大小:592.52 KB
  • 文档页数:5

第三章 黑盒测试参考答案

(注意:答案仅供参考,若有误,请自行修改。 ) 1、某保险公司计算保险费率。 计算方式为 10 点及 10 点以上保险费率为 %, 10 点以下保险费率为 %;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下表所示。其中,年龄有效输入范 围为 1-100 ;抚养人数可输入“无”或 1-9 之间的整数。 使用等价类划分进行测试用例设计。 年龄 性别 婚姻 抚养人数

20~39 40~59 其它M F 已婚 未婚 1 人扣点

6 点 4 点 2 点 5 点 3 点 3 点 5 点 最多扣 3 点

参考答案: ( 1) 通过对程序功能的分析,其等价类表如下所示: 输入条件 有效等价类 无效等价类

20~39 岁 (1)

小于 1 岁

(11)

年龄 40~59 岁 (2)

大于 100 岁 (12)

1~19 岁或 60~100 岁 (3)

性别 ‘ M’ (4)

除‘ M’和‘ F’之外的其他字符 (13) ‘ F’ (5)

婚姻 已婚 (6) 除已婚和未婚之外的其他字符 ( 14) 未婚 (7)

无 ( 8) 除无和数字之外的其他字符 ( 15) 抚养人数 1~6 人 (9) 小于 1 ( 16) 6~9 人 (10) 大于 9 ( 17) ( 2) 设计测试用例表,覆盖等价类。

测试 输入数据 预期输出 抚养 覆盖的等价类 用例 年龄 性别 婚姻 保险费率 人数

1 27 M 已婚 无 1 4 6 8 % 2 50 F 未婚 2 2 5 7 9 % 3 70 M 已婚 7 3 4 6 10 % 4 0 M 已婚 无 11 4 6 8 提示“年龄应在 1~100 之间” 5 102 F 未婚 4 12 5 7 9 提示“年龄应在 1~100 之间” 6 30 T 已婚 无 1 13 6 8 提示“性别应输入 M或 F” 7 30 M 离婚 无 1 4 14 8 提示“婚姻应为已婚或未婚”

8 30 M 已婚 没有 1 4 6 15 提示“抚养人数应为无或 1-9 之间的整数”

9 30 M 已婚 -1 1 4 6 16 提示“抚养人数应为无或 1-9 之间的整数” 10 30 M 已婚 1 4 6 17 提示“抚养人数应为无或 1-9 20 之间的整数”

2、 NextDate 函数。

该函数要求输入三个变量 month、day 和 year ,输出该日期之后一天的日期。 其中 year 的取值范围为: 1900-2079 。如果输入的日期组合不合法,则显示“无效的输入日期”。 使用等价类划分进行测试用例设计。 参考答案: ( 1) 通过对程序功能的分析,其等价类表如下所示:

输入条件 有效等价类 无效等价类

Month 1≤ month≤ 12 Month<1 (11) (1)

(12) Month>12

Day 1≤ day ≤ 31 day<1 (13) (2)

(14) day>31

year 1900≤ year ≤ 2079 year<1900 (15) (3)

(16) year>2079

( 2) 设计测试用例表,覆盖等价类。 测试输入数据

用例 month day year

覆盖的等价类 预期输出

1 6 20 2008 1 2 3 2008-6-21 2 -1 20 2008 11 2 3 month 超出范围 3 14 20 2008 12 2 3 month 超出范围 4 6 -1 2008 1 13 3 day 超出范围 5 6 32 2008 1 14 3 day 超出范围 6 6 20 1800 1 2 15 year 超出范围 7 6 20 2080 1 2 16 year 超出范围 3、 P62,习题 7。 参考答案略。 4、某软件的一个模块的需求规格说明书中描述: ( 1)年薪制员工:严重过失,扣年终风险金的 4%;过失,扣年终风险金的 2%。 ( 2)非年薪制员工:严重过失,扣当月薪资的 8%;过失,扣当月薪资的 4%。 请绘制出因果图和判定表,并给出相应的测试用例。 参考答案: ( 1) 根据程序的规格说明,原因和结果如下:

原因: C1:年薪制员工。 (1:是年薪制员工; 0:非年薪制员工) C2 :严重过失 C3 :过失 结果: e1:扣年终风险金的 4%

e2 :扣年终风险金的 2% e3 :扣当月薪资的 8% e4 :扣当月薪资的 4% ( 2) 因果图:略 ( 3) 决策表: 规则 2 3 4 5 6 7 8 选项 1

C1:年薪制员工 1 1 1 1 0 0 0 0

条件 C2:严重过失 1 1 0 0 1 1 0 0

C3:过失 1 0 1 0 1 0 1 0

e1:扣年终风险金的 4% √

e2:扣年终风险金的 2% √

结果 e3:扣当月薪资的 8% √

e4:扣当月薪资的 4% √

不操作 √ √ 不可能 √ √ ( 4) 用例表:

用例 输入数据 预期输出 TC1 年薪制员工,严重过失 扣年终风险金的 4% TC2 年薪制员工,过失 扣年终风险金的 2% TC3 非年薪制员工,严重过失 扣当月薪资的 8% TC4 非年薪制员工,过失 扣当月薪资的 4% 5、有一个处理单价为 1 元 5 角钱的盒装饮料的自动售货机软件,若投入 1 元 5 角硬币,按 下“可乐”、“雪碧”或“橙汁”按钮,相应的饮料就送出来。若投入的是 2 元硬币,在送出 相应的饮料同时退换 5 角硬币。 请绘制出因果图和判定表,并给出相应的测试用例。 参考答案: ( 1) 根据程序的规格说明,原因和结果如下:

原因: C1——投入 1 元 5 角硬币 C2——投入 2 元硬币 C3——按下可乐按钮 C4——按下雪碧按钮 C5——按下橙汁按钮 结果: E1——退还 5 角硬币 E2——送出可乐饮料 E3——送出雪碧饮料 E4——送出橙汁饮料 中间结点: 11——已投币 12——已按钮 ( 2)因果图: ( 3)判定表:选项

规则 1-8 9-16 17 18 19 20 21 22 23 24

C1 0 1 1 1 1 1 1 1 1 1 C2 0 1 0 0 0 0 0 0 0 0 条件 C3 ——0 0 0 0 1 1 1 1

C4 ——0 0 1 1 0 0 1 1 C5 ——0 1 0 1 0 1 0 1 E1 E2 √ 结果 E3 √ E4 √ 不可能 √ √ √ √ √ √ √

选 项 25 26 27 28 29 30 31 32 规则

C1 0 0 0 0 0 0 0 0 C2 1 1 1 1 1 1 1 1 条件 C3 0 0 0 0 1 1 1 1

C4 0 0 1 1 0 0 1 1 C5 0 1 0 1 0 1 0 1 E1 √ √ E2 √ √ 结果 E3

E4 √ √ 不可能 √ √ √ √ √

( 4)测试用例表。略 6、 P62,习题 10。 参考答案略。 6、PriorDate 函数。该函数要求输入三个变量 month、day 和 year ,输出该日期之前一天的 日期。使用判定表法进行测试用例设计。 参考答案: ( 1)根据函数的功能,划分以下等价类集合。 月: M1: ={month | month=4 ,6, 9, 11 月( 30 天) } M2: ={month | month=5 ,7, 8, 10,12 月( 31 天) } M3: ={month | month=3 月( 31 天) } M4: ={month | month=2 月 } M5: ={month | month=1 月( 31 天) } 日: D1: ={Day | day=1} D2 : ={Day | day=2-28} D3: ={Day | day=29} D4 : ={Day | day=30} D5: ={Day | day=31} 年: Y1: ={year | year 是闰年 } Y2 : ={year | year 不是闰年 } ( 2)根据以上等价类集合,建立的判定表为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 C1:month 在 M1 M1 M1 M2 M2 M3 M3 M3 M4 M4 M4 M4 M4 M5 M5

C2:day 在 D1 D2-D4 D5 D1 D2-D5 D1 D1 D2-D5 D1 D2 D3 D3 D4-D5 D1 D2-D5

C3:year 在 - - - - - Y1 Y2 - - - Y1 Y2 - - -

动作: √ √ √ 不可能 Day - 1 √ √ √ √ √ √ Month – 1 √ √ √ √ √

Year – 1 √

Day=30 √ Day=31 √ √ √ Month=12 √ Day=29 √ Day=28 √ 合并后的判定表如下: 1 2 3 4 5, 8, 6 7 10 11 12 13 14 15 C1:month M1 M1 M1 M2 M2 , M3 M3 M4 M4 M4 M4 M5 在 M3,M5 C2:day D1 D2-D4 D5 D1 D2-D5 D1 D1 D2 D3 D3 D4-D5 D1 在 C3:year - - - - - Y1 Y2 - Y1 Y2 - - 在

动作: √ √ √ 不可能 Day - 1 √ √ √ √ Month – √ √ √ √

1 Year – 1 √

Day=30 √ Day=31 √ √ Month=12 √ Day=29 √ Day=28 √ ( 2) 测试用例表 略 7、网上购物商场测试 略