不能期望配对测试是万能的,你知道吗?

优采云 发布时间: 2021-07-11 23:22

  不能期望配对测试是万能的,你知道吗?

  原文:

  一般来说,测试是先进行单元测试,然后是集成测试,然后是系统测试。其实说白了,也可以理解为把最基本的测试步骤组合起来,或者测试环境采用某种方法组合。然后生成一个新的测试用例。因为是手工组合,第一个比较麻烦,第二个是有时候设计几个等价的测试用例,重复执行这些等价的测试用例,很费时间。有一种更好的测试技术称为成对测试,它可以根据您设置的条件自动生成测试时间(即工作量)和测试覆盖率之间的平衡组合。

  配对测试的基本思想是,虽然程序的某个组件,或者说程序本身,会接受大量的输入,但在大多数情况下,程序的bug并不是同时由这些输入引起的,但从一到它是由两个输入条件同时动作引起的。因此,配对测试在生成测试组合时,主要侧重于将每个条件与其他条件至少匹配一次,而不是尝试生成完整的组合。这样可以大大减少需要测试的组合数量,尽可能节省测试工作量。可以达到令人满意的测试覆盖率。

  当然,我们不能指望配对测试是万能的,也就是只能依赖配对测试自动生成的测试用例。使用配对测试的目的是减少测试人员在执行过多等效组合上浪费的时间。尽可能将宝贵的时间用于设计适合用户使用场景的测试用例。

  具体示例(手动步骤)

  废话不多说,来看一个具体的例子。假设我们有以下产品,界面如下:

  

  对于上述产品(假设文本框接受1到100之间的整数),测试条件可以分为以下几种:

  

  当然,我们可以进一步细分文本框的条件,但是为了简单起见,我把条件设置的比较粗糙。如果设置完整组合的用例,则需要 6(下拉框控件的可能条件)* 2(复选框的可能条件)* 2(单选按钮的可能条件)* 6(用于文本框) = 144 个组合。

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

  1. 首先将上述条件输入Excel,并在列标题中注明可能出现的条件个数,并根据条件个数对输入参数进行排序,如下图:

  

  2. 首先将第二个和第三个参数的条件组合一次。为了省事,我把第一个参数去掉,只介绍二、三、四个参数的配对组合方式:

  

  3. 然后再次组合第二个参数和第四个参数的条件,如下图:

  

  4. 为了保证第四个参数和第三个参数各有一个组合,可以使用Excel提供的过滤功能来判断。比如下图中,很明显两个参数没有一个是完全结合的:

  

  5. 解决方法很简单。您只需要再添加两行,即可将两个参数中未组合的条件组合起来。 (当然你也可以稍微调整第四个参数的条件来达到同样的目的):

  

  自动化步骤

  上面的工作还是有点繁琐。事实上,有人已经自动化了这个过程。这里有一个免费的开源工具allpairs.exe,可以从下面的链接下载:

  对于上面的例子,使用allpairs生成组合的方法是:

  1. 先将以上条件输入Excel,如下图(因为这个工具是老外写的,没有考虑支持中文的问题,最好用英文):

  

  2.以 Tab 键为分隔符将 Excel 文件另存为文本文件:

  

  3.然后使用allpairs.exe处理这个文件:

  allpairs.exe test.txt> output.txt

  4.在output.txt中,PAIRING DETAILS下的东西没用,可以直接删除,删除后结果如下:

  

  在设计测试环境矩阵和组合测试用例时可以使用allpairs技术。当然,你不能完全依赖这项技术。除了allpairs组合测试用例,你最好根据测试覆盖率和用户场景。从覆盖率开始,添加更多有价值的测试用例。

  另外,使用配对测试的算法,我们可以结合行为驱动设计技术,直接从需求中自动生成测试用例,如果我们自动化了基本的测试用例,我们可以使用这个技术来自动化测试用例匹配组合(当然需要加一些限制),在节省测试时间的同时,达到满意的测试覆盖率,当然,这样做需要我们写一个测试工具来实现这个技术——至少到现在我还没有看到过-现成的工具,而且这种技术应该比模型驱动测试更容易使用,因为模型驱动测试的问题是建模太难了。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线