
由于详尽的测试工作量太大而无法实际完成,因此它提示我们选择大量可能的数据中的一部分作为测试用例. 例如,在不知道等效分配技术的情况下,当我们对计算器程序进行加法测试时,在测试1 + 1、1 + 2、1 + 3和1 + 4之后,有必要测试1 + 5和1 +6?您可以安全地相信它们是正确的吗?
等效类划分是将程序的输入字段划分为几个部分,然后从每个部分中选择一些代表数据作为测试用例. 测试中每个类别的代表数据等于该类别中的其他值,也就是说,如果某个类别中的示例发现错误,则该类别中的其他示例也将等效类别中的其他错误发现;相反,如果某个类别中的示例未发现错误,则该类别中的其他示例将不会检测到错误(除非等效类中的某些示例属于另一个等效类等价类划分 用尽量少,因为一些等效类可能会相交). 要使用此方法设计测试用例,必须首先在分析需求规范的基础上划分等效类并列出等效类.
1. 划分等效类并列出等效列表
等效类是指输入字段的子集. 等价分类有两种不同的情况: 有效等价和无效等价
有效等效类: 指对于程序的说明而言合理且有意义的输入数据的集合. 有效的等效类可用于验证程序是否达到了规范中指定的功能和性能.
无效的等效类: 与有效的等效类的定义相反
在设计测试用例时,必须同时考虑这两个等效类. 因为该软件不仅必须接收合理的数据,还必须承受意外的测试. 这样的测试可以确保软件具有更高的可靠性.
确定等效类的以下六个原则:
(1)当输入条件指定值范围或值的数目时,可以建立一个有效的等效类和两个无效的等效类.
(2)当输入条件指定一组输入值或指定``必须''条件时,可以确定有效的等效类和无效的等效类
(3)当输入条件为布尔值时,可以确定有效的等效类和无效的等效类.
(4)如果指定了一组输入数据值(假设n个)并且程序分别处理每个输入值,则可以建立n个有效的等效类和无效的等效类.
(5)在规定输入数据必须遵守的规则的情况下,可以建立一个有效的等效类(符合规则)和几个无效的等效类(从不同角度违反规则).
(6)当已知划分的等效类在程序中处理元素的方式不同时,应将等效类进一步划分为较小的等效类.
2. 确定测试用例
根据等效列表,请按照以下步骤确定测试用例:
(1)为每个等效类指定一个唯一的数字
(2)设计一个新的测试用例,以使其覆盖尚未覆盖的有效等效类. 重复此步骤,直到测试用例涵盖了所有有效的等效类.
(3)设计一个新的测试用例,使其仅涵盖一个无效的等效类. 重复此步骤将覆盖所有无效的等效类.
3. 问题示例: 根据下面给出的规范,使用等价类划分方法,给出足够的测试用例.
“程序读取三个整数并将这三个值用作三角形的三个边的长度. 该程序需要打印出信息以指示三角形是等边,等腰还是正态. ”
分析: 我们可以将三角形的三个边分别设置为A,B和C. 如果它们可以形成三角形,则它们必须满足: A> 0,B> 0,C> 0,并且A + B> C,A + C> B,B + C> A.
如果是等腰,则仍然可以判断A = B或B = C或A = C
如果是等边的,则需要判断A = B,B = C和A = C
等效类列表如下:
输入条件
有效等效课程
无效的等效类
三角形的3个边
(A> 0),(1)
(B> 0),(2)
(C> 0),(3)
(A + B> C),(4)
(B + C)> A,(5)
(A + C)> B,(6)
(A <= 0),(7)
(B <= 0),(8)
(C <= 0)等价类划分 用尽量少,(9)
(A + B <= C),(10)
(B + C <= A),(11)
(A + C <= B),(12)
等腰三角形
(A = B),(13)
(A = C),(14)
(B = C),(15)
(A!= B)和(B!= C)和(A!= C),
(16)
是等边三角形

(A = B)和(B = C)和(A = C),
(17)
(A!= B),(18)
(B!= C),(19)
(C!= A),(20)
设计测试用例: 输入序列为A,B,C,如下表所示:
序列号
【A,B,C】
覆盖等效类
输出
1
【3,4,5】
(1),(2),(3),(4),(5),(6)
一般三角形
2
【0,1,2】
(7)
不能形成三角形
3
【1、0、2】
(8)
不能形成三角形
4
【1、2、0】

(9)
不能形成三角形
5
【1、2、3】
(10)
不能形成三角形
6
【1、3、2】
(11)
不能形成三角形
7
【3,1,2】
(12)
不能形成三角形
8
【3,3,4】
(1),(2),(3),(4),(5),(6),(13)
等腰三角形
9
【3,4,4】
(1),(2),(3),(4),(5),(6),(14)
等腰三角形
10
【3,4,3】

(1),(2),(3),(4),(5),(6),(15)
等腰三角形
11
【3,4,5】
(1),(2),(3),(4),(5),(6),(16)
非等腰三角形
12
【3,3,3】
(1),(2),(3),(4),(5),(6),(17)
等边三角形
13
【3,4,4】
(1),(2),(3),(4),(5),(6),(18)
非等边三角形
14
【3,4,3】
(1),(2),(3),(4),(5),(6),(19)
非等边三角形
15
【3,3,4】
(1),(2),(3),(4),(5),(6),(20)
非等边三角形
请记住,等效分配的目标是减少可能的测试用例组合的数量,直到仍然足以满足软件测试需求为止. 由于选择了不完全的测试,因此会冒一定的风险,因此必须仔细选择分类.
等效的类划分方法
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-259357-1.html
中国可以在附近海