一、概念
-
是另一种将程序的输入划分子集的方法。
-
由于在机器学习中分类树这种算法的广泛应用,分类树的测试方法也得到了应用。
二、与等价类的区别
-
等价类划分法与分类树法的区别就是看子集之间是否存在重叠的情况。
-
将输入域拆分成子集,按照等价类划分,两个子集之间可能存在重叠的情况。
-
将输入域拆分成子集,按照分类树划分,两个子集之间是完全不相交的,就是不存在重叠的情况。
三、设计测试用例的步骤
第一步:识别出测试对象,并分析输入域
第二步:对测试对象的输入域进行分类
第三步:画出分类树、组合成测试用例
-
组合测试用例注意:注意逻辑兼容性(交集不能为空)
![](https://i-blog.csdnimg.cn/blog_migrate/4ee65284ae4836a5e4005bc7a5ab5ea1.png)
1、识别测试特征集
你要测试什么样的功能罗列出来,这就是测试特征集,可直接理解为测试项:
-
特征集:测试飞机选择功能使用时是否都正常。
2、测试条件
待测试功能中哪些项目,哪些条件需要测,罗列出来就是测试条件,所以测试条件就是:
-
TCOND1:目的地
-
TCOND2:舱位
-
TCOND3:座位
-
TCOND1:食物偏好
-
食物是否需要再次进行分类?:不划分也可以,因为食物的子集之间不存在重叠的情况。划分也可以,划分出小类是便于更好的去做日后的数据挖掘、程序的使用等。
-
基于测试特征集、测试条件,生成分类树,将测试条件的输入补充到分类树中。
![](https://i-blog.csdnimg.cn/blog_migrate/97cc9e5097cefa48595ae8dab52a81cc.png)
3、导出测试用例
-
基于分类树采用单一组合进行测试用例的组合。
-
单一组合:只要每一个测试条件的取值都被覆盖了就行,至于如何组合不影响;也就是说单一组合只需考虑一个测试条件,只要这个测试条件的取值都被覆盖了就行,无需考虑条件之间的组合。
-
分类树生成测试用例的组合可能有多种方式,因为分类树生成测试用例用的是单一组合方式。
-
分类树法生成的测试用例的数量,一般是测试条件里输入最多的取值。
![](https://i-blog.csdnimg.cn/blog_migrate/069050594c030fafbb60cb1b1863283a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e3c574eed601c5532d23fcf96c69ef68.png)
注意:测试用例和测试覆盖项的编号并不是一对一的关系,一个测试用例很可能覆盖多个测试项,也可能只覆盖一个测试项。