案例分析题

阅读下列说明,回答下列问题。
[说明]
某商店的货品价格(P)都不大于20元(且为整数),假设顾客每次付款为20元且每次限购一件商品,现有一个软件能在每位顾客购物后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的找零货币面值只包括:10元(N10)、5元(N5)、1元(N1)3种。

问答题

请采用等价类划分法为该软件设计测试用例(不考虑P为非整数的情况)并填入到下表中。(<<N1,2>>表示2张1元,若无输出或输出非法,则填N/A。

序号  输入(商品价格)  输出(找零钱的组合)
1 20(P=20) N/A
2 18(任意15<P<20) <<N1,2>>
3    
4    
5    
6    
7    
8    
9    
10    
【正确答案】
序号  输入(商品价格)  输出(找零钱的组合)
1 20(P=20) N/A
2 18(任意15<P<20) <<N1,2>>
3 15(P=15) <<N5,1>>
4 13(任意5<P<15) <<N5,1>>,<<N1,2>>
5 10(P=10) <<N10,1>>
6 8(任意5<P<10) <<N10,1>>,<<N1,2>>
7 5(P=5) <<N10,1>>,<<N5,1>>
8 3(任意0<P<5) <<N10,1>>,<<N5,1>>,<<N1,2>>
9 -10(P=1) N/A
10 30(任意P>20) N/A
【答案解析】
问答题

请采用边界值分析法为该软件设计测试用例。

【正确答案】
序号  输入(商品价格)  输出(找零钱的组合)
1 20 N/A
2 19 <<N1,1>>
3 18 <<N1,2>>
4 16 <<N1,4>>
5 15 <<N5,1>>
6 14 <<N5,1>>,<<N1,1>>
7 13 <<N5,1>>,<<N1,2>>
8 11 <<N5,1>>,<<N1,4>>
9 10 <<N10,1>>
10 9 <<N10,1>>,<<N1,1>>
11 8 <<N10,1>>,<<N1,2>>
12 6 <<N10,1>>,<<N1,4>>
13 5 <<N10,1>>,<<N5,1>>
14 4 <<N10,1>>,<<N5,1>>,<<N1,1>>
15 3 <<N10,1>>,<<N5,1>>,<<N1,2>>
16 1 <<N10,1>>,<<N5,1>>,<<N1,4>>
【答案解析】
问答题

请给出采用决策表法进行测试用例设计的主要步骤。

【正确答案】

(1)确定规则的个数。
(2)列出所有的条件桩和动作桩。
(3)填入条件项和动作项。
(4)合并相似规则,化简决策表。

【答案解析】

本题考查白盒测试法和黑盒测试法的应用。
第一小题考查黑盒测试用例设计方法:等价类划分法。
等价类划分法是把程序的输入域按规则划分为若干子集,然后从每个子集中选取一个具有代表性的数据作为测试用例。本题中规定了P的取值范围(1<=P<=20),按规则可以划分为一个有效等价类{P|1<=P<=20}和两个无效等价类{P|P<1}、{P|P>20}。根据题中描述,对P取不同值有不同的处理,因此上述有效等价类还可以进一步细分为8个等价类{P|P=20}、{P|15<P<20}、{P|P=15}、{P|10<P<15}、{P|P=10}、{P|5<P<10}、{P|P=5}、{P|0<P<5}。这样一共得到10个等价类,包括8个有效等价类{P|P=20}、{P|15<P<20}、{P|P=15}、{P|10<P<15}、{P|P=10}、{P|5<P<10}、{P|P=5}、{P|0<P<5}和两个无效等价类{P|P<1}、{P|P>20}。设计用例时从这10个等价类中各任选一个代表元素即可。
第二小题考查白盒测试用例设计方法:边界值分析法。
边界值分析法作为等价类划分法的一种补充,是把等价类上的边界取值作为测试用例的一种测试方法。如果不考虑健壮性测试,也就是如果说不考虑无效等价类的边界取值,8个有效等价类中有20,19,16,15,14,11,10,9,6,5,4,1这12个边界值,然后每个等价类中再取1个任意值,一共得到16个边界值的测试用例({P|P=20}、{P|P=15}、{P|P=10}、{P|P=5}这4个等价类的任意值是20,15,10,5,与边界值有重复)。
第三小题考查黑盒测试中决策表法。
采用决策表法设计测试用例分为四步:1)确定规则的个数;2)列出所有的条件桩和动作桩;3)填入条件项和动作项;4)合并相似规则,化简决策表。