实验2 黑盒测试:决策表法、因果图法
一、实验目的
1、掌握决策表的概念。
2、掌握决策表测试用例设计法。
3、掌握因果图的概念。
4、掌握因果图法的测试用例设计方法。
二、 实验任务
1、某付款程序实现如下功能:普通顾客一次购物累计少于 100 元,不打折,
一次购物累计多于或等于 100 元,打 9 折;会员顾客按会员价格一次购物累
计少于 1000 元,打 8 折,一次购物累计等于或多于 1000 元打 7 折。用决策
表法设计其测试用例。对付款程序运用决策表法设计测试用例,并执行测试,
撰写实验报告。
float payment(int i, float amount) 函 数 规 定 : 输 入 两 个 数 : 顾 客 身 份
customer 和购物金额 amount,函数的输出为实际付款金额。(例如,输入为“会
员顾客”,金额为 1800 元,则函数的输出为实际付款金额 1260 元。)
实验步骤:
1)构造决策表
首先,列出所有的条件桩和动作桩:
条件桩
C1:会员顾客
C2:普通顾客
C3:购物金额<100?
C4:购物金额>=100?
C5:购物金额<1000?
C6:购物金额>=1000?
动作桩
A1:打 7 折
A2:打 8 折
A3:打 9 折
A4:不打折
A5:不可能
其次,确定规则的个数(若有必要,修改条件桩使有限条目决策表成为扩展条目
决策表):
条件桩
C1:顾客为会员或者普通顾客
C2:购物金额为(0,1000)或者[100,1000]
或者(1000,无穷)
动作桩
A1:打 7 折
A2:打 8 折
A3:打 9 折
A4:不打折
其次,填入决策表中的条件桩、动作桩、条件项和动作项:
1
T
F
F
T
F
F
√
2
T
F
F
F
T
F
√
3
F
T
F
T
F
F
√
4
F
T
T
F
F
F
√
C1:会员顾客
C2:普通顾客
C3:购物金额<100?
C4:购物金额>=100?
C5:购物金额<1000?
C6:购物金额>=1000?
A1:打 7 折
A2:打 8 折
A3:打 9 折
A4:不打折
最后,化简决策表:
1
2
3
4
5
6
C1:会员或者普通
会员 会员
会员
普通
普通
普通
顾客
C2:购物金额为
(0,1000) 或 者
[100,1000]
或者(1000, ∞)
A1:打 7 折
A2:打 8 折
A3:打 9 折
A4:不打折
(0,
100)
(100,
1000)
(1000,
∞)
(0,
100)
(100,
1000)
(1000,
∞)
√
√
√
√
√
√
2)根据决策表设计测试用例,得到测试用例表(测试用例表格式同实验 1)。
说明:针对决策表中每一列规则设计一条对应的测试用例。
用例编号
顾客身份
购物金额
预期输出
T1
T2
T3
T4
T5
T6
会员
会员
会员
普通
普通
普通
50
500
2000
50
500
2000
40(打 8 折)
400(打 8 折)
1400(打 7 折)
50(不打折)
450(打 9 折)
1800(打 9 折)
(3)执行测试,填写软件缺陷报告(软件缺陷报告格式同实验 1)。
测试模块:
测 试 员:
开 发 者:
测试日期:
华丽老师
2019/4/23
黑盒测试
蒋智娟
缺陷 ID
BUG1
软件缺陷列表
缺陷详细信息
当顾客身份输入普通顾客,购物金额输入 1 元,程序实际输出
-107374176.00 与预期输出 1 元不一致。
2、某软件的一个模块的需求规格说明书中描述:
(1)年薪制员工:严重过失,扣年终风险金的 4%;过失,扣年终风险金的
2%。
(2)非年薪制员工:严重过失,扣当月薪资的 8%;过失,扣当月薪资的 4%。
请绘制出因果图和决策表,并给出相应的测试用例。
实验步骤:
1) 分析原因与结果(每个原因和结果进行编号)
原因
c1:年薪制员工
c2:非年薪制员工
c3:严重过失
c4:过失
结果
a1:扣年终风险奖的 4%
a2:扣年终风险奖的 2%
a3:扣当月薪资的 8%
a4:扣当月薪资的 4%
2)画出因果图并施加相应的约束
E
O
c1
c2
c3
c4
a1
a2
a3
a4
2) 转化为决策表
c1:年薪制员工
c2:非年薪制员工
c3:严重过失
c4:过失
a1:扣年终风险奖的 2%
a2:扣年终风险奖的 4%
a3:扣当月薪资的 8%
a4:扣当月薪资的 4%
1
F
T
F
T
√
2
F
T
T
F
√
3
T
F
F
T
√
4
T
F
T
F
√
4)根据决策表设计测试用例,得到测试用例表
用例编号
条件 1
条件 2
预期输出
Test1
Test2
Test3
Test4
C1
C1
C2
C2
C4
C3
C3
C4
扣年终风险奖的 4%
扣年终风险奖的 2%
扣当月薪资的 8%
扣当月薪资的 4%
5)执行测试,填写软件缺陷报告
测试模块:
测 试 员:
因果图及其推测法 开 发 者:
测试日期:
蒋智娟
华丽老师
2019/4/23
缺陷 ID
BUG1
软件缺陷列表
缺陷详细信息
当员工身份输入年薪制员工,过失类别输入无过失,程序实际
输出扣除当月工资的 4%与预期输出不存在不一致。