题目:
【说明】
某商店的货品价格(P)都不大于 20 元(且为整数),假设顾客每次付款为 20 元且每次限购一件商品,现有一个软件能在每位顾客购物后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的找零货币面值只包括:10 元(N10)、5 元(N5)、1 元(N1)3 种。
【问题 1】
请采用等价类划分法为该软件设计测试用例(不考虑 P 为非整数的情况)并填入到下表中。(<<N1,2>>表示 2 张 1 元,若无输出或输出非法,则填入 N/A)
答案:
序号 | 输入(商品价格P) | 输出(找零钱的组合) |
1 | 20(P=20) | N/A |
2 | 18(任意15<P<20) | <<N1,2>> |
3 | 15(P=15) | <<N5,1>> |
4 | 12(任意10<P<15) | <<N5,1><N1,3>> |
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 | 23(P=23) | N/A |
10 | 0 | N/A |
【问题 2】
请采用边界值分析法为该软件设计测试用例。
答案:
在等价类划分中,我们将输入值划分为4类
15<P<20,10<P<15,5<P<10,0<P<5
故可针对这样的划分设置边界值
序号 | 测试用例 |
1 | P=20 |
2 | P=19 |
3 | P=16 |
4 | P=15 |
5 | P=14 |
6 | P=11 |
7 | P=10 |
8 | P=9 |
9 | P=6 |
10 | P=5 |
11 | P=4 |
12 | P=1 |
13 | P=0 |