前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试平台番外:正交工具过滤功能-1

接口测试平台番外:正交工具过滤功能-1

作者头像
我去热饭
发布2022-05-19 14:58:33
2140
发布2022-05-19 14:58:33
举报
文章被收录于专栏:测试开发干货

不知道榜一大哥在哪看到有人分享一个正交工具,有过滤功能。就是在正交生成的一系列用例之后,人为手动再过滤掉一些不要的,不可能出现的用例。就这么一个过滤功能,被榜一大哥看到了,找我要给接口测试平台番外-正交小工具也加上这个功能(不惜重金)。

其实我一开始是不想加的,过滤功能,我也不是没想过。但是有违测试基本理论,而且会有极大的风险,所以很多年前我就判断不能加这个过滤功能。不过既然榜一大哥作为金主,要求了,那咱就加!反正管加不管埋!有风险就有风险!

下一节会给大家具体实现这个功能,这一章,就来说说,为什么正交工具不能加最后的过滤功能。

这个过滤功能,冷不丁的一看,哇塞,太人性化了,真的是个很好的设计。但是如果你精通测试理论就会知道,其实这么做不对,但是也仅仅是理论上的风险,实际使用中,这样过滤的益处会大于弊端,综合考虑还是可以做的,但是我们要明白,要懂里面的原理才能放心。

首先,我们先要明白正交法,是什么,能用在哪里 这些基础理论!

在处理,多个输入条件的功能时,为了整理出各种各样的用例,诞生了俩种对立的方法:正交表 和 判定表

多个输入条件之间,如果有逻辑关联,那么必须只能用判定表,判定表相当于穷举然后过滤,虽然麻烦,但是可以保证一个不漏。

多个输入条件之间,如果没有逻辑关联,那么可以用正交,当然穷举所有可能的组合是最安全的,但是数量太庞大的时候,可以用正交来进行一定程度的删减,正交删减后的结果,只保证了 任意俩个条件的任意子状态都出现在同一条用例里,来测试 会不会有这种冲突出现。从程度和经验分析,这种其实并不100%安全,但却是性价比最高的手段。

举例子:word文档打印功能

输入有以下几个条件 和 对应的子状态:

纸张大小:A3,A4,A5

颜色:黑白,彩色

面数:单面,双面

在这三个条件中,如果我们穷举所有用例,那么一共是如下:

3*2*2 = 12种情况。

正交的话,只有:

A3- 黑白-单面

A4-彩色-双面

A5-彩色-单面

A5-黑白-双面

A4-黑白-单面

A3-彩色-双面

(表由工具和专业算法生成,结果放心。)

只有6种,而这6种却包含了任意俩个条件的子状态 都一起出现这个情况。在日常实际中,这个可以覆盖绝大多的bug了,算是比较成功的技术。

不过过滤功能是怎么回事呢。比如榜一大哥的需求中说,A3纸,不能和黑白颜色去匹配,没有这个情况。

然后过滤功能就自动去掉这个情况的用例了,或者压根不去这么匹配。这个风险在哪呢?

这个风险就在于,为什么榜一大哥会有这样奇怪的规定! 因为只要有这种规定,就意味着这些输入条件之间,是有逻辑关系的!而根据正交的定义,这种情况,是不能用正交的!

为什么呢?因为一旦出现逻辑关系,那么他们的bug发生概率会非常非常高,远高于无关联的。而正交工具本身的存在就是删减了大部分用例,这些被删除的用例中也一定带着逻辑关联的输入组合,这里面大概率会有很多bug,而却全被正交给自动删除掉了,此时的风险是很大的。

所以这种情况正交不能用也不敢用,只能用判定表也就是穷举。这也是为什么判定表会存在。如果正交那么可靠,能处理有逻辑关联的输入,那么谁还会写判定表穷举呢?

而且,上面原因只是其一。

其二是 ,一但过滤掉 比如A3-黑白这个选项,那么第一条用例就没了,也就是说 后面那个“单面” 也没无情删掉了,整个结果中,A3 - 单面 这组合也相当于都没有了,万一 A3和单面配合也会出现bug呢?

结论:有逻辑关联的输入,用正交风险高。而在正交结果中再次删减过滤,则风险更高。

真正可以放心的过滤功能应该在判定表上,也就自动穷举后再过滤。

不过上述的风险,只是存在于理论中,100个bug 也许因为你的正交过滤漏掉了一个。但是你获得的收益却很高,可以让测试用例减少很多个,减轻很多工作量,提高效率。

所以还是会教大家怎么去设计和开发这个过滤功能,只是要给人家使用者说好,这里面是有风险的,后果自负才行。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档