等价类的设计思路:
- 根据输入条件,确定等价类,包括有效等价类和无效等价类,建立等价类列表
- 为每个等价类规定一个唯一的编
- 设计一个测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类被覆盖完为止
- 设计一个测试用例,使其尽可能多的覆盖尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类被覆盖完为止
1、三角形–等价类测试的例子
某程序规定:“输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 … “。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)
  分析题目中给出和隐含的对输入条件的要求: 
  (1)整数    (2)三个数    (3)非零数   (4)正数   
  (5)两边之和大于第三边     (6)等腰     (7)等边 
   如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:
   1)如果不满足条件(5),则程序输出为 ” 非三角形 ” 。
   2)如果三条边相等即满足条件(7),则程序输出为 ” 等边三角形 ” 。
   3)如果只有两条边相等、即满足条件(6),则程序输出为 ” 等腰三角形 ” 。
   4)如果三条边都不相等,则程序输出为 ” 一般三角形 ” 。 
   列出等价类表并编 
2、档案管理系统–等价类的例子
设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的“日期检查功能“。
| 输入判断 | 有效等价类 | 编 | 无效等价类 | 编 | 
| 输入字符长度 | 6位 | ① | 大于6位数字字符 小于6位数字字符 | ⑤ ⑥ | 
| 输入字符类型 | 数字 | ② | 6位非纯数字字符 | ⑦ | 
| 输入年份约束 | 1990-2049 | ③ | 大于2049 小于1990 | ⑧ ⑨ | 
| 输入月份约束 | 01-12 | ④ | 大于12 等于00 | ⑩ ⑾ | 
  
  3、佣金问题–等价类的例子   佣金问题等价类测试用例,它是根据佣金函数的输出值域定义等价类,来改进测试用例集合。
输出销售额≤1000元     佣金10%
1000<销售额≤1800     佣金=100+(销售额-1000)*15%
销售额>1800              佣金=220+(销售额-1800)*20%
测试用例         枪机(45)    枪托(30)      枪管(25)          销售额     佣金
    1               5             5                5                  500        50
    2              15           15              15                 1500       175
    3              25           25              25                 2500       360
根据输出域选择输入值,使落在输出域等价类内,可以结合弱健壮测试用例结合。  佣金问题分三个部分:输入数据部分,用来处理数据有效性(与三角形和档案系统管理中的一样);销售额计算;佣金计算。由于题目要求,根据佣金函数的输出值定义等价类,所以可以省略输入数据有效性部分。测试用例设计如下: 
| 测试用例 | 枪机(45) | 枪托(30) | 枪管(25) | 销售额 | 佣金 | 备注 | 
| 1 | 1 | 1 | 1 | 100 | 10 | 最小值 | 
| 2 | 1 | 1 | 2 | 125 | 12.5 | 略大于最小值 | 
| 3 | 1 | 2 | 1 | 130 | 13 | 略大于最小值 | 
| 4 | 2 | 1 | 1 | 145 | 14.5 | 略大于最小值 | 
| 5 | 5 | 5 | 5 | 500 | 50 | 中点 | 
| 6 | 10 | 10 | 9 | 975 | 97.5 | 略小于边界值 | 
| 7 | 10 | 10 | 10 | 1000 | 100 | 边界值 | 
| 8 | 10 | 10 | 11 | 1025 | 103.75 | 略高于边界值 | 
| 9 | 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢! 
                
                    Ubuntu中各种软件的安装和卸载
                
                 
                     上一篇
                    2018年3月21日
                 
                
                    linux下安装并使用Gnuplot
                
                 
                    下一篇 
                    2018年3月21日
                 |