测试设计之等价类和边界值

 

1  引言 

    一般来说,软件测试设计方法分为5类:传统的黑盒测试方法、基于质量的测试方法、基于风险的测试方法、基于经验的测试方法以及白盒测试方法。下面分篇介绍下传统的黑盒测试和白盒测试方法。

  5种黑盒测试方法如下:

  ·等价类

      ·边界值

  ·判定表

  ·状态转换图

  ·决策树

  ·正交法

  7种白盒测试方法如下:

  ·语句覆盖

  ·分支覆盖

  ·条件覆盖

  ·判定覆盖

      ·条件覆盖

  ·路径覆盖

  ·控制流测试

 

2  等价类&边界值测试设计

  2.1  运用等价类/边界值设计测试用例

  通过等价类/边界值法设计软件测试用例是测试用例设计的最基本的方法。这两种方法密不可分。下面先介绍"等价类分析法"。

  2.1.1  等价类

  等价类是指软件测试对象的某个参数输入域的子集合。在该子集合中,各个输入数据对于识别软件测试对象中的缺陷是等价的。只要测试等价类的某一个代表值,就可以认为覆盖了该等价类所有其他值的软件测试。

  等价类的划分

  是把软件测试对象的输入域划分成若干部分,然后从每一部分中选取少数具有代表性的数据,作为测试用例输入数据的测试用例设计技术。

  等价类的两个假设

  (1)软件测试对象等价类中任意一个代表值没有发现缺陷,则认为等价类内其他值也不能发现缺陷。比如等价类为【0~5】,如果测试数据4没有发现缺陷,那么测试数据1也不可能发现缺陷。

  (2)软件测试对象等价类中任意一个代表值可以发现缺陷,则认为等价类内其他值也都可以发现缺陷。比如等价类为【0~5】,如果测试数据4发现缺陷,那么测试数据1也肯定能发现缺陷。

  有效等价类与无效等价类

  (1)有效等价类:对于软件测试对象而言,有效等价类指的是合理的、有意义的数据构成的集合。

  (2)无效等价类:对于软件测试对象而言,无效等价类指的是不合理的、没有意义的数据构成的集合。

  案例2-1:等价类的分类。

  通过表2-1来看各种类型的数据是如何通过等价类进行分类的。

  表2-1等价类的设计法

测试设计之等价类和边界值_第1张图片

  下面再介绍一下"边界值分析法"。

  2.1.2  边界值

  边界值分析是对输入或输出的边界值进行软件测试的一种测试方法。通常,边界值分析法作为对等价类划分法技术的补充。这种情况下,其测试用例来自等价类的边界。由于程序员在开发时在边界区域比较容易犯错误(如原本应该为a<100,却写成a≤100),所以边界值测试法就显得非常重要。由于边界值是随着等价类出现的,所以边界值可以分为有效等价类的边界值和无效等价类的边界值。

  边界值分析的步骤如下:

  (1)识别软件测试对象中的参数等价类;

  (2)识别每个等价类的边界值;

  (3)创建边界值的相关测试用例;

  (4)定义边界值分析技术的覆盖率。

  案例2-2:边界值的设计法。

  基于表2-1,来看各种情况的边界值如何划定,见表2-2。

  表2-2边界值的设计法

测试设计之等价类和边界值_第2张图片

  2.1.3  基于输出的等价类/边界值划分

  等价类/边界值除了可以以输入进行分类,也可以以输出进行分类,如案例2-3所示。

  案例2-3:公园门票规定:

  身高1.2m以下的儿童免票;

  身高1.2~1.4m的儿童半票(含1.2m);

  年龄在60~69岁之间的老人半票(含60岁);

  年龄在70岁以上的老人免票(含70岁);

  在校学生半票(不含在职学生、电大学生);

  革命烈士家属、现役军人免票。

  我们可以划分等价类为全票、半票和免票,见表2-3。

  表2-3公园门票等价类/边界值

测试设计之等价类和边界值_第3张图片

 

你可能感兴趣的:(测试设计)