采集自动组合(不能期望配对测试是万能的,即我们仅依赖于一次)
优采云 发布时间: 2021-11-04 21:20采集自动组合(不能期望配对测试是万能的,即我们仅依赖于一次)
一般来说,测试是先进行单元测试,然后是集成测试,然后是系统测试。其实,说白了,也可以理解为把最基本的测试步骤组合起来,或者测试环境在生成新的之前使用了一定的方法组合。测试用例。因为是手工组合,第一个比较麻烦,第二个是有时候设计几个等价的测试用例,重复执行这些等价的测试用例,很费时间。有一种更好的测试技术称为成对测试,它可以根据您设置的条件自动生成测试时间(即工作负载)和测试覆盖率之间的平衡组合。
配对测试的基本思想是,虽然程序的某个组件,或者说程序本身,会接受大量的输入,但在大多数情况下,程序的bug并不是同时由这些输入引起的,但通过一两个输入。由条件的同时影响引起。因此,配对测试在生成测试组合时,主要侧重于将每个条件与其他条件至少匹配一次,而不是尝试生成完整的组合。这样可以大大减少需要测试的组合数量,尽可能节省测试工作量。可以达到令人满意的测试覆盖率。
当然,我们不能指望配对测试是万能的,即只能依靠配对测试自动生成的测试用例。使用配对测试的目的是减少测试人员在进行过多等效组合时浪费的时间,尽可能节省宝贵的时间花在设计满足用户使用场景的测试用例上。
具体示例(手动步骤)
闲话少说,我们来看一个具体的例子。假设我们有以下接口的产品:
对于上述产品(假设文本框接受1到100之间的整数),测试条件可以分为以下几种:
当然,文本框的条件还可以进一步细分,但是为了简单起见,我把条件设置的比较粗糙。如果按照全组合用例设置方法,则需要6个(下拉框控件的可能条件)*2(复杂复选框的可能条件)*2(单个复选框的可能条件)*6(文本框的可能条件)= 144 种组合。
我们来看一下使用配对法设计组合的方法:
1. 首先将上述条件输入Excel,并在列标题中注明可能出现的条件个数,并根据条件个数对输入参数进行排序,如下图所示:
2. 首先,将第二个和第三个参数的条件组合一次。为了省事,我把第一个参数去掉,只介绍四个参数二、三、配对组合的方法:
3. 然后再次组合第二个参数和第四个参数的条件,如下图:
4. 为了保证第四个参数和第三个参数各有一个组合,可以使用Excel提供的过滤功能来判断。比如下图中,很明显两个参数并没有完全结合起来:
5. 解决方法很简单。您只需要再添加两行,即可将两个参数中未组合的条件组合起来。(当然你也可以稍微调整第四个参数的条件来达到同样的目的):
自动化步骤
上面的工作还是有点繁琐的。事实上,有人已经自动化了这个过程。这是一个免费的开源工具,allpairs.exe,可以从下面的链接下载:
对于上面的例子,使用allpairs生成组合的方法是:
1. 先将以上条件输入Excel,如下图(因为这个工具是老外写的,没有考虑支持中文的问题,最好用英文):
2. 将 Excel 文件另存为文本文件,以 Tab 键为分隔符:
3. 然后使用 allpairs.exe 处理这个文件:
allpairs.exe test.txt> output.txt
4. output.txt中,PAIRING DETAILS下面的东西没用,可以直接删除,删除后,结果如下:
您可以在设计测试环境矩阵和组合测试用例时使用 allpairs 技术。当然,你不能完全依赖这项技术。除了allpairs组合测试用例,你最好从测试覆盖率和用户场景覆盖率开始。, 添加更多有价值的测试用例。
另外,使用配对测试的算法,我们可以结合Behavior DrivenDesign技术,直接从需求中自动生成测试用例,如果我们自动化了基础测试用例,我们可以用这个技术对自动化测试用例进行配对组合(当然需要加一些限制),在节省测试时间的同时,要达到满意的测试覆盖率,当然,这样做需要我们自己写一个测试工具来实现这个技术——至少到现在我还没有看到现成的工具,而且这种技术应该比模型驱动测试更容易使用,因为模型驱动测试的问题是建模太难了。