等价类划分法
等价类划分法是一种典型的黑盒测试方法,通过划分输入数据集来减少测试所需的用例,包括划分等价类和构造测试用例两个步骤:
- 划分等价类
划分等价类就是将输入数据集划分成若干个等价类子集,从每一个子集中选取少量代表性数据作为测试用例。在划分等价类时,必须保证同一个等价类中的所有输入数据对于揭示程序中的错误是等效的,使得测试代表值相当于测试其它所有值。输入等价类可以分为有效等价类和无效等价类,其中有效等价类指的是符合程序规格说明的输入等价类,而无效等价类指的是不符合程序规格说明的输入等价类。 - 构造测试用例
首先给每一个等价类编号,然后设计测试用例使其尽可能多地覆盖尚未覆盖的有效等价类,重复直到所有有效等价类被覆盖,再设计测试用例使其仅覆盖一个尚未覆盖的无效等价类,重复直到所有无效等价类被覆盖。根据测试用例覆盖的等价类可以分为弱一般、弱健壮、强一般、强健壮测试,其中弱表示只覆盖有效等价类,强表示除了有效等价类还覆盖了无效等价类,一般表示测试用例只需覆盖所有不同的缺陷,健壮表示测试用例需要覆盖所有的多缺陷组合。
题目1
构造三角形问题的弱健壮等价类测试用例:
- 三角形问题
输入三个不超过100的正整数作为三角形的三条边,判断三角形是等边三角形、等腰三角形、完全不等边三角形还是无法构成三角形。
解答1
选取不同的输入条件可以划分出不同的等价类,其中一种等价类组合如下:
-
划分等价类
输入条件 有效等价类 无效等价类 边长 a a a取值 ( 0 , 100 ] (0, 100] (0,100](1) ( − ∞ , 0 ] (-\infin, 0] (−∞,0](2), ( 100 , ∞ ) (100, \infin) (100,∞)(3) 边长 b b b取值 ( 0 , 100 ] (0, 100] (0,100](4) ( − ∞ , 0 ] (-\infin, 0]