例题1
请采用等价类划分法设计测试用例。
考虑软件 app, 它有两个输入变量 , 分别是 name 和 age, 其中 ,name 是至多包含 20 个字母字符的非空字符串 ,age 是整数型变量 ,0 ≤ age ≤ 120 。当输入给 name 的字符串的长度超过 20时 ,name 取前 20 个字符作为 name 的值 ; 如果输入的是一个空字符串 , 则 app 显示一条错误提示信息 , 当输入给 age 的值不在规定的范围中时 ,app 显示一条错误提示信息。
填写表格,并写出8个测试用例。
变量 | 有效等价类 | 无效等价类 |
---|---|---|
name | (1) name只包含字母; (2) (3) name的长度超过20 | (4) (5)空串 |
age | (6) (7)0 ≤ age ≤ 120 | (8) (9)age<0 (10) age>120 (11) |
解答
变量 | 有效等价类 | 无效等价类 |
---|---|---|
name | (1) name只包含字母; (2) 1<=name的长度<=20; (3) name的长度超过20 | (4)包含非字母 (5)空串 |
age | (6) 整型; (7)0 ≤ age ≤ 120 | (8) 小数; (9)age<0 (10) age>120 (11) |
序号 | 测试用例(name,age) | 覆盖的等价类 |
---|---|---|
1 | (liux, 43) | (1),(2),(6),(7) |
2 | (blilibilibldsjflkdsjdlsk,43) | (1),(3),(6),(7) |
3 | (liu13, 15) | (4) |
4 | ("",15) | (5) |
5 | (liushisan,15.5) | (8) |
6 | (liushisan, -1) | (9) |
7 | (liushisan,121) | (10) |
8 | (liushisan, ) | (11) |
例题2
假设商店货品价格(R)都不大于100元(且为整数),若顾客付款 ( P ) 在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只有50元(N50)、10元(N10)、5元(N5)和1元(N1)四种,请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。
解答
等价类划分表:
条件 | 有效等价类 | 无效等价类 |
---|---|---|
价格范围 | 不大于100元(1) | 大于100元(2) |
价格为整数 | 为整数(3) | 不是整数(4) |
付款的大小 | 小于等于100元(5) | 大于100元(6) |
足额付款 | 付款金额大于商品价格(7) | 付款金额小于商品价格(8) |
零钱情况 | 只包含50元(9) | |
只包含10元(10) | ||
只包含5元(11) | ||
只包含1元(12) | ||
(本次练习不用覆盖)正交表测试:只包含四种纸币的任意两种(13) | ||
没有零钱需要找补(14) |
覆盖有效等价类测试用例:
输入(价格,付款) | 期待输出(#N50,#N10,#N5, #N1) | 覆盖等价类 |
---|---|---|
(50,100) | (1,0,0,0) | 1、3、5、7、9 |
(90,100) | (0,1,0,0) | 1、3、5、7、10 |
(95,100) | (0,0,1,0) | 1、3、5、7、11 |
(99,100) | (0,0,0,1) | 1、3、5、7、12 |
(100,100) | (0,0,0,0) | 1、3、5、7、14 |
覆盖无效等价类测试用例:
输入(价格,付款) | 期待输出(#N50,#N10,#N5, #N1) | 覆盖等价类 |
---|---|---|
如果期待输出无法给出,填写N/A | ||
(101,100) | N/A | 2 |
(3.5, 100) | N/A | 4 |
(50,101) | N/A | 6 |
(55,50) | N/A | 8 |
例题3
假设商店货品价格(R)都不大于100元(且为整数),若顾客付款 ( P ) 在100元内(也是整数)。现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只有50元(N50)、10元(N10)、5元(N5)和1元(N1)四种。
要求:
⑴ 给出N50、N10、N5、N1变量的边界值测试取值。
⑵为本题设计边界值测试用例,将结果填入表。
测试目的 | N50 | N10 | N5 | N1 |
解答
(1)N50、N5只有两种边界值:0和1。N10、N1有五种边界值测试取值:0、1、2、3、4。
(2)测试用例表