用例设计之Pairwise配对测试

如题所述

第1个回答  2022-07-08
Pairwise(后称:配对测试)可以看作是正交测试用例设计的拓展,其目的是为了缩减测试用例集大小,以较小的测试用例集覆盖较全的测试点,降低测试损耗。

配对测试用例设计基于以下两个假设:1、每一个测试点/维度都是正交的,即相互间没有交集;2、根据数学统计分析,73%的缺陷是由单因子或两个因子相互作用产生的(其中单因子是35%,两个因子是38%)。因此,配对测试用例设计对于覆盖两因子交互产生的用例集性价比较高(这也在某些方面成为配对测试的一种局限)。

可能说到这里,还是对于测试维度、因子,有些似明非明、迷惑不解,我们用一个图来简单说下这两个是什么,它们之间什么关系。

在一项试验中,基于正交理论:把影响试验结果的变量称为试验因素(因子),简称因素。在试验过程中,每一个因素可以处于不同的状态或状况,把因素所处的状态或状况,称为因素的水平,简称水平。对应与配对测试用例的假设,测试维度即正交理论中的因素;因子即因素的水平。

某所大学某系共2个班级,想通过“性别”、“班级”和“成绩”这三个条件查询某课程的成绩分布。则“性别”、“班级”和“成绩”为3个测试点/测试维度;“性别”的“男、女“,”班级“的“1班、2班” 和“成绩”的“及格、不及格”分别为3个测试维度的2个影响因子。

在正交测试法中,上述栗子,转化为测试用例可以用下表表示:

正交法可以呈现较为完备的测试用例集,覆盖度较高,但是随着测试维度和因子的加大,测试用例集将会变得庞大,测试执行会变得十分耗时。此时,使用配对测试,可以在保证一定测试覆盖度的情况下,缩减测试用例,降低用例执行耗时。

a)从用例8开始分析

用例8是“女、2班、不合格”的组合,两两组合是“女2班”、“2班不合格”、“女不合格”。检查者三个组合在1-7的用例中是否出现过,可以看出“女2班”在4号用例,“2班不合格”在7号用例,“女不合格”在6号用例中出现过。因此,根据配对测试法思想,8号用例可以舍去。此时,剩下用例为:

b)接着分析用例7

用例7的两两组合“男2班”在3号用例出现过,“男不合格”在5号用例中出现过,但“2班不合格”仅此一个,因此7号用例需要保留。

c)接着分析用例6

同理分析可得,6号用例的组合“女1班”在2号出现过,“1班不合格”在5号用例出现过,“女不合格”仅此一个,因此6号用例需要保留。

d)接着分析用例5

同理分析可得,5号用例的组合“男1班”在1号出现过,“1班不合格”在6号用例出现过,“男不合格”在7号用例出现过,因此6号用例可以舍去,保留用例如下表。

e)接着分析用例4、3、2、1

同理接着从下往上分析用例4、3、2、1可得,最终保留用例如下表所示:

此时,可以看出,经过配对测试设计筛选后的测试用例数为原来的50%,用例成本大大缩减。

经过L.L.ThurStone证明,配对测试最终剩下的用例数肯定相同,但可以有不同的组合。

如,将上述用例从上往下(1->8)进行分析,最终保留用例如下表所示:

对比表4从下往上筛选用例后结果和表5从上往下筛选后结果,可以看出,使用从下往上筛选后剩余用例为1、4、6、7,而从上往下筛选后剩余用例为2、3、5、8。

配对测试设计虽然对于多维度的用例集有降低用例成本的作用,但它要求测试人员必须对业务很熟悉,且由于不同的筛选路径导致保留的测试用例不同,在覆盖率上仍有一定缺陷。此外,对于超过两个因子互相作用产生的缺陷,有些力不从心。
相似回答