软件测试:等价类划分举例

等价类的设计思路:

  • 根据输入条件,确定等价类,包括有效等价类和无效等价类,建立等价类列表
  • 为每个等价类规定一个唯一的编
  • 设计一个测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类被覆盖完为止
  • 设计一个测试用例,使其尽可能多的覆盖尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类被覆盖完为止

1、三角形–等价类测试的例子

某程序规定:输入三个整数 a  b  c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 … “。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)
  
分析题目中给出和隐含的对输入条件的要求: 
  
1)整数    2)三个数    3)非零数   4)正数   
  
5)两边之和大于第三边     6)等腰     7)等边 
   
如果 a  b  c 满足条件( 1  ~  4 ),则输出下列四种情况之一:
   1)
如果不满足条件(5),则程序输出为 ” 非三角形 ” 
   2)
如果三条边相等即满足条件(7),则程序输出为 ” 等边三角形 ” 
   3)
如果只有两条边相等、即满足条件(6),则程序输出为 ” 等腰三角形 ” 
   4)
如果三条边都不相等,则程序输出为 ” 一般三角形 ”  
   
列出等价类表并编

2、档案管理系统–等价类的例子

设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在19901~204912月,并规定日期由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进行处理,非常感谢!

上一篇 2018年3月21日
下一篇 2018年3月21日

相关推荐