美文网首页
使用allpairs自动设计组合测试用例

使用allpairs自动设计组合测试用例

作者: Ming_a221 | 来源:发表于2019-08-29 10:31 被阅读0次

一、pairwise算法介绍
测试过程中,对于多参数并且参数多值的情况,进行测试用例组织,之前一直使用【正交分析法】进行用例组织,就是把每个参数的所有值分别和其他参数的值做一个全量组合。用Python脚本实现,就是itertools模块中product方法(又称笛卡尔积法),然后再用正交表进行筛选。但是全正交设计法,测试case太多,投入的成本太大,所以引入了pairwise算法。
Pairwise (结对)算法源于对传统的正交分析方法优化后得到的产物,Pairwise是L. L. Thurstone(29 May1887 – 30 September 1955)在1927年首先提出来的。他是美国的一位心理统计学家。Pairwise也正是基于数学统计和对传统的正交分析法进行优化后得到的产物。
Pairwise基于如下2个假设:
(1)每一个维度都是正交的,即每一个维度互相都没有交集。
(2)根据数学统计分析,73%的缺陷(单因子是35%,双因子是38%)是由单因子或2个因子相互作用产生的。19%的缺陷是由3个因子相互作用产生的。
因此,pairwise基于覆盖所有2因子的交互作用产生的用例集合性价比最高而产生的。

二、使用步骤

  1. 安装第三方包
pip install allpairspy

2.使用方法
假设我们要构建一组弱网条件下的测试用例的集合,影响因素有:网络带宽,丢包了,网络延迟
每个因素都有多个需要测试的条件,比如网络带宽分别需要测试1M,3M,5M,10M
下面的代码演示了如何使用allpairs来生成两两的正交测试条件

from allpairspy import AllPairs
 
if __name__ == '__main__':
    # 带宽,丢包,延迟
    parameters = [
        ["1M", "3M", "5M", "10M"],
        ["1%", "5%", "10%", "15%"],
        ["0ms", "50ms", "100ms", "200ms"]
    ]
    # 设置组合因子n的数目,默认为2
    pairwise = AllPairs(parameters,n=2)
    for i, v in enumerate(pairwise):
        print("%i:\t%s" % (i, str(v)))
# 结果
0:  ['1M', '1%', '0ms']
1:  ['3M', '5%', '0ms']
2:  ['5M', '10%', '0ms']
3:  ['10M', '15%', '0ms']
4:  ['10M', '10%', '50ms']
5:  ['5M', '5%', '50ms']
6:  ['3M', '1%', '50ms']
7:  ['1M', '15%', '50ms']
8:  ['1M', '10%', '100ms']
9:  ['3M', '15%', '100ms']
10: ['5M', '1%', '100ms']
11: ['10M', '5%', '100ms']
12: ['10M', '1%', '200ms']
13: ['5M', '15%', '200ms']
14: ['3M', '10%', '200ms']
15: ['1M', '5%', '200ms']

相关文章

  • 使用allpairs自动设计组合测试用例

    一、pairwise算法介绍测试过程中,对于多参数并且参数多值的情况,进行测试用例组织,之前一直使用【正交分析法】...

  • 条件组合覆盖,条件覆盖

    逻辑覆盖实例讲解 条件组合覆盖 条件组合覆盖:设计足够多的测试用例,使被测程序中每个判定的所有可能的条件取值组合至...

  • 初级软件测试总结

    1.测试用例编写 1.1 设计测试用例的依据 根据需求文档,项目设计文档,接口文档,系统使用手册等来设计测试用例。...

  • 可复用测试用例研究(用例库)

    软件测试的关键环节是设计和执行测试用例。测试用例的质量与测试人员的技能、经验以及对被测软件的理解密切相关。如果测...

  • APP自动化测试的用例设计与实现

    一 手工测试用例与自动化测试用例的对比 二自动化测试用例的实现 =========================...

  • 加强探索性测试技能

    传统认知中的软件测试是一个使用测试用例设计技术设计用例并执行测试用例的过程。 测试用例技术的目的是确保能够更多地覆...

  • python unittest (draft)

    使用unittest.main() 方法执行 输出: 使用“unittest.main()”执行测试用例时,每个测...

  • 软件测试流程设计—黑盒测试用例设计方法

    第1章 测试用例设计方法 测试用例设计方法包括黑盒测试用例设计方法和白盒测试用例设计方法,下面 分别进行介绍。 1...

  • 如何提高测试效率

    个人1.先明确测试流程2.获取有效信息,明确需求3.设计测试用例规范,沟通效率(测试用例八大要素:测试用例编号,测...

  • 正交试验法基础与实践

    正交实验法简介 正交测试用例设计又称为组合试验法,利用场景法来设计测试用例时,作为输入条件的场景非常庞大,以至于得...

网友评论

      本文标题:使用allpairs自动设计组合测试用例

      本文链接:https://www.haomeiwen.com/subject/tdwbectx.html