一般都说测试先做单元测试,然后做集成测试,然后做系统测试之类的,其实说白了,也可以理解成将基本的测试步骤,或者说测试环境使用一定的方法组合以后再生成新的测试用例。因为人工组合,第一比较费神,第二是有时要么是设计了几个等价的测试用例,重复执行这些等价的测试用例,比较费时。这里有一个比较好的测试技术,叫做配对(pair-wise)测试,它可以根据你设定的条件,自动生成在测试时间(即工作量)和测试覆盖率之间做出平衡的组合。

  配对测试的基本理念是,虽然程序的某个组件,或者程序自己会接受很多的输入,但大部分情况下,程序的bug不是因为这些输入同时作用而产生的,而是由一到两个输入条件同时作用导致的。因此配对测试在生成测试组合的时候,主要关注将每个条件与其它条件至少配对一次,而不是试图生成全组合,这样可以大大减少需要测试的组合数,尽而节省测试工作量,同时又能达到满意的测试覆盖率。

  当然不能期望配对测试是的,即我们仅依赖于配对测试自动生成的测试用例可以了,使用配对测试的目的是为了减少测试人员浪费在执行太多的等价组合的时间,将宝贵的时间尽可能地放在设计符合用户使用场景的测试用例上。

  具体示例(手工步骤)

  废话少说,先看一个具体的示例,假设我们有下面一个产品,界面如下:

  对于上面这个产品(假设文本框接受1到100之间的整数),可以将测试条件划分为下面这样子:

  当然,文本框的条件我们还可以再细分一下,但是为了描述简单,我把条件设置的比较粗糙,如果按照全组合的用例设置方式,需要 6 (下拉框控件可能的条件) * 2 (复选框可能的条件) * 2 (单选框可能的条件) * 6 (文本框可能的条件) = 144个组合。

  我们来看使用配对方式设计组合的方式:

  1、先将上面的条件输入到Excel里,并在列头标明可能出现的条件的个数,并按条件的个数将各个输入参数排序,如下图所示:

  2、先将第二个和第三个参数的各个条件组合一次,这里为了省事起见,我先去掉第一个参数,只介绍第二、三、四个参数的配对组合方法: