第3章黑盒测试:决策表-因果图-场景测试法
1、打印机正常工作的条件是:有纸、有墨、驱动程序正确。请用决策表为工具设计打印机能否正常工作的测试用例。(假设检错顺序为:纸、墨、驱动程序)打印机正常工作的条件是:有纸、有墨、驱动程序正确(共3种)动作:正常打印、提示:缺纸、提示:缺墨、提示:驱动程序异常(共4种)。决策表的规则数:2的3次方= 8,设1表示条件满足,0表示该条件未满足,决策表如下:R1R2R3..
1、打印机正常工作的条件是:有纸、有墨、驱动程序正确。请用决策表为工具设计打印机能否正常工作的测试用例。(假设检错顺序为:纸、墨、驱动程序)
打印机正常工作的条件是:有纸、有墨、驱动程序正确(共3种)
动作:正常打印、提示:缺纸、提示:缺墨、提示:驱动程序异常(共4种)。
决策表的规则数:2的3次方= 8,设1表示条件满足,0表示该条件未满足,决策表如下:
|
R1 |
R2 |
R3 |
R4 |
R5 |
R6 |
R7 |
R8 |
||
|
条件 |
有纸 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
有墨 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
|
|
驱动程序正确 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
|
动作 |
正常打印 |
√ |
|||||||
|
提示:缺纸 |
√ |
√ |
√ |
√ |
|||||
|
提示:缺墨 |
√ |
√ |
|||||||
|
提示:驱动程序异常 |
√ |
上述决策表中R1~R4、R5~R6可分别合并,化简后的决策表:
|
R1~R4 |
R5~R6 |
R7 |
R8 |
||
|
条件 |
有纸 |
0 |
1 |
1 |
1 |
|
有墨 |
- |
0 |
1 |
1 |
|
|
驱动程序正确 |
- |
- |
0 |
1 |
|
|
动作 |
正常打印 |
√ |
|||
|
提示:缺纸 |
√ |
||||
|
提示:缺墨 |
√ |
||||
|
提示:驱动程序异常 |
√ |
构造测试用例:
|
用例ID |
输入数据 |
预期输出 |
规则 |
|
1 |
无纸 |
不能打印,提示:缺纸 |
R1~R4 |
|
2 |
有纸无墨 |
不能打印,提示:缺墨 |
R5~R6 |
|
3 |
有纸有墨,驱动程序异常 |
不能打印,提示:驱动程序异常 |
R7 |
|
4 |
有纸有墨,驱动程序正确 |
正常打印 |
R8 |
2、某自动售货机共出售三种饮料:矿泉水、奶茶、可乐。它们的单价均为5元/瓶。该售货机只能接受面值5元和10元的纸币,且每次交易最多出售一件商品。请用因果图法设计对该自动售货机的测试用例。
原因:
c1:按下“矿泉水”按钮
c2:按下“奶茶”按钮
c3:按下“可乐”按钮
c4:投5元纸币
c5:投10元纸币
结果:
e1:送出“矿泉水”
e2:送出“奶茶”
e3:送出“可乐”
e4:找零5元
因果图:

则:
e1=c1∧(c4∨c5)
e2=c2∧(c4∨c5)
e3=c3∧(c4∨c5)
e4=c5∧(c1∨c2∨c3)
c1、c2、c3满足E约束的组合有4种,c4、c5满足E约束的组合有3种,则条件的组合数为4x3=12。决策表如下:
|
R1 |
R2 |
R3 |
R4 |
R5 |
R6 |
R7 |
R8 |
R9 |
R10 |
R11 |
R12 |
||
|
原因 |
c1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
|
c2 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
|
|
c3 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
|
c4 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
|
c5 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
|
|
结果 |
e1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
|
e2 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
|
|
e3 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
e4 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
将决策表化简得:
|
R1~R4 |
R5,R9 |
R6 |
R7 |
R8 |
R10 |
R11 |
R12 |
||
|
原因 |
c1 |
- |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
|
c2 |
- |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
|
c3 |
- |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
|
|
c4 |
0 |
- |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
c5 |
0 |
- |
1 |
1 |
1 |
0 |
0 |
0 |
|
|
结果 |
e1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
|
e2 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
|
e3 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
|
|
e4 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
构造测试用例
|
用例ID |
输入数据 |
预期输出 |
对用规则 |
|
1 |
不投币 |
售货机不做任何事 |
R1~R4 |
|
2 |
不选商品 |
售货机不做任何事 |
R5,R9 |
|
3 |
选可乐,投入10元 |
送出可乐,找零5元 |
R6 |
|
4 |
选奶茶,投入10元 |
送出奶茶,找零5元 |
R7 |
|
5 |
选矿泉水,投入10元 |
送出矿泉水,找零5元 |
R8 |
|
6 |
选可乐,投入5元 |
送出可乐 |
R10 |
|
7 |
选奶茶,投入5元 |
送出奶茶 |
R11 |
|
8 |
选矿泉水,投入5元 |
送出矿泉水 |
R12 |
3、请选择淘宝/天猫、京东等任意一个电商平台,对在该平台上进行完整的一次购物过程(从网站登录到订单生成)使用场景法进行分析并设计测试用例。
以京东电商平台为购物测试对象,用户已经是该平台的注册用户。
购物事件流图:

场景的设计
|
场景 |
处理流程 |
|
场景1——订单成功生成 |
基本流 |
|
场景2——选购商品库存不足 |
基本流→备选流1 |
|
场景3——账户不存在 |
基本流→备选流2 |
|
场景4——登录口令不正确 |
基本流→备选流3 |
|
场景5——收货地址不正确 |
基本流→备选流4 |
|
场景6——收货人电话未提供 |
基本流→备选流5 |
|
场景7——支付口令不正确 |
基本流→备选流6 |
|
场景8——支付账户余额不足 |
基本流→备选流7 |
测试用例的设计(V:合法,I:非法,N/A:未涉及)
|
用例ID |
输入数据 |
预期输出 |
||||||
|
被选商品数量 |
账户 |
登录口令 |
收货地址 |
收货人电话 |
支付口令 |
账户余额 |
||
|
1 |
V |
V |
V |
V |
V |
V |
V |
订单成功生成 |
|
2 |
I |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
报错:选购商品库存不足 |
|
3 |
V |
I |
N/A |
N/A |
N/A |
N/A |
N/A |
报错:账户不存在 |
|
4 |
V |
V |
I |
N/A |
N/A |
N/A |
N/A |
报错:登录口令不正确 |
|
5 |
V |
V |
V |
I |
N/A |
N/A |
N/A |
报错:收货地址不正确 |
|
6 |
V |
V |
V |
V |
I |
N/A |
N/A |
报错:收货人电话未提供 |
|
7 |
V |
V |
V |
V |
V |
I |
N/A |
报错:支付口令不正确 |
|
8 |
V |
V |
V |
V |
V |
V |
I |
报错:支付账户余额不足 |
测试数据的设计
假设购买“森马企鹅上衣”,该商品库存为1件,售价50元。
用户的账号为2019131302,登录口令为123456,支付口令为654321。
收货地址为广东省东莞市石排镇广东科技学院松山湖校区,收货人电话为18888888888。
|
用例ID |
输入数据 |
预期输出 |
||||||
|
被选商品数量 |
账户 |
登录口令 |
收货地址 |
收货人电话 |
支付口令 |
账户余额 |
||
|
1 |
1 |
2019131302 |
123456 |
广东省东莞市石排镇广东科技学院松山湖校区 |
18888888888 |
654321 |
50 |
订单成功生成 |
|
2 |
2 |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
报错:选购商品库存不足 |
|
3 |
1 |
20191313 |
N/A |
N/A |
N/A |
N/A |
N/A |
报错:账户不存在 |
|
4 |
1 |
2019131302 |
12345 |
N/A |
N/A |
N/A |
N/A |
报错:登录口令不正确 |
|
5 |
1 |
2019131302 |
123456 |
N/A |
N/A |
N/A |
报错:收货地址不正确 |
|
|
6 |
1 |
2019131302 |
123456 |
广东省东莞市石排镇广东科技学院松山湖校区 |
N/A |
N/A |
报错:收货人电话未提供 |
|
|
7 |
1 |
2019131302 |
123456 |
广东省东莞市石排镇广东科技学院松山湖校区 |
18888888888 |
65432 |
N/A |
报错:支付口令不正确 |
|
8 |
1 |
2019131302 |
123456 |
广东省东莞市石排镇广东科技学院松山湖校区 |
18888888888 |
654321 |
30 |
报错:支付账户余额不足 |
更多推荐


所有评论(0)