• 使用正交表设计测试用例


     如下代码,

    以第一个场景 parameter_normal为例: 

    列表的每一项,代表这个项可取的范围,例如block_tx_capacity可以是2000,也可以是10000

    max_txpool_size的取值为自定义计算,和无上限两种。

    经过正交计算,第一个场景可以使用4个场景进行覆盖。 

    1. from allpairspy import AllPairs
    2. parameters_normal = [
    3. ["block_tx_capacity=2000", "block_tx_capacity=10000"],
    4. ["max_txpool_size=自定义计算", "max_txpool_size=无上限"],
    5. ["TBFT_blocks_per_proposer=0", "TBFT_blocks_per_proposer=1"],
    6. ]
    7. parameters_batch1 = [
    8. ["block_tx_capacity=2000"],
    9. ["max_txpool_size=自定义计算", "max_txpool_size=无上限"],
    10. ["TBFT_blocks_per_proposer=0", "TBFT_blocks_per_proposer=1"],
    11. ["batch_max_size=200", "batch_max_size=500", "batch_max_size=1000", "batch_max_size=2000"],
    12. ["batch_create_timeout=50", "batch_create_timeout=200"],
    13. ]
    14. parameters_batch2 = [
    15. ["block_tx_capacity=10000"],
    16. ["max_txpool_size=自定义计算", "max_txpool_size=无上限"],
    17. ["TBFT_blocks_per_proposer=0", "TBFT_blocks_per_proposer=1"],
    18. ["batch_max_size=100", "batch_max_size=500", "batch_max_size=1000", "batch_max_size=2000"],
    19. ["batch_create_timeout=50", "batch_create_timeout=200"],
    20. ]
    21. print("normal交易池 PAIRWISE:")
    22. for i, pairs in enumerate(AllPairs(parameters_normal)):
    23. print("{:2d}: {}".format(i, pairs))
    24. print("batch交易池 区块容量2000 PAIRWISE:")
    25. for i, pairs in enumerate(AllPairs(parameters_batch1)):
    26. print("{:2d}: {}".format(i, pairs))
    27. print("batch交易池 区块容量10000 PAIRWISE:")
    28. for i, pairs in enumerate(AllPairs(parameters_batch2)):
    29. print("{:2d}: {}".format(i, pairs))
    30. print("【logdb_segment_size和maxconcurrency根据配置找到最优值后使用固定值】")

    运行结果

    1. normal交易池 PAIRWISE:
    2. 0: ['block_tx_capacity=2000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=0']
    3. 1: ['block_tx_capacity=10000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=0']
    4. 2: ['block_tx_capacity=10000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=1']
    5. 3: ['block_tx_capacity=2000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=1']
    6. batch交易池 区块容量2000 PAIRWISE:
    7. 0: ['block_tx_capacity=2000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=0', 'batch_max_size=200', 'batch_create_timeout=50']
    8. 1: ['block_tx_capacity=2000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=1', 'batch_max_size=500', 'batch_create_timeout=200']
    9. 2: ['block_tx_capacity=2000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=0', 'batch_max_size=1000', 'batch_create_timeout=200']
    10. 3: ['block_tx_capacity=2000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=1', 'batch_max_size=2000', 'batch_create_timeout=200']
    11. 4: ['block_tx_capacity=2000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=1', 'batch_max_size=200', 'batch_create_timeout=50']
    12. 5: ['block_tx_capacity=2000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=0', 'batch_max_size=500', 'batch_create_timeout=50']
    13. 6: ['block_tx_capacity=2000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=0', 'batch_max_size=2000', 'batch_create_timeout=50']
    14. 7: ['block_tx_capacity=2000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=1', 'batch_max_size=1000', 'batch_create_timeout=50']
    15. 8: ['block_tx_capacity=2000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=1', 'batch_max_size=2000', 'batch_create_timeout=50']
    16. 9: ['block_tx_capacity=2000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=1', 'batch_max_size=200', 'batch_create_timeout=200']
    17. batch交易池 区块容量10000 PAIRWISE:
    18. 0: ['block_tx_capacity=10000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=0', 'batch_max_size=100', 'batch_create_timeout=50']
    19. 1: ['block_tx_capacity=10000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=1', 'batch_max_size=500', 'batch_create_timeout=200']
    20. 2: ['block_tx_capacity=10000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=0', 'batch_max_size=1000', 'batch_create_timeout=200']
    21. 3: ['block_tx_capacity=10000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=1', 'batch_max_size=2000', 'batch_create_timeout=200']
    22. 4: ['block_tx_capacity=10000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=1', 'batch_max_size=100', 'batch_create_timeout=50']
    23. 5: ['block_tx_capacity=10000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=0', 'batch_max_size=500', 'batch_create_timeout=50']
    24. 6: ['block_tx_capacity=10000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=0', 'batch_max_size=2000', 'batch_create_timeout=50']
    25. 7: ['block_tx_capacity=10000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=1', 'batch_max_size=1000', 'batch_create_timeout=50']
    26. 8: ['block_tx_capacity=10000', 'max_txpool_size=无上限', 'TBFT_blocks_per_proposer=1', 'batch_max_size=2000', 'batch_create_timeout=50']
    27. 9: ['block_tx_capacity=10000', 'max_txpool_size=自定义计算', 'TBFT_blocks_per_proposer=1', 'batch_max_size=100', 'batch_create_timeout=200']
    28. 【logdb_segment_size和maxconcurrency根据配置找到最优值后使用固定值

  • 相关阅读:
    史上最全,接口测试-用例设计总结(案例分析实例)一篇策底打通...
    核心容器中bean的操作
    SVN一直报错Error running context: 由于目标计算机积极拒绝,无法连接。解决办法【杭州多测师_王sir】...
    解决Python爬虫中selenium模块中的find_element_by_id方法无法使用
    人柱力和佩恩六道,谁才是湖仓一体的终极形态?
    这 6 款在线 PDF 转换工具,得试
    LazyVim: 将 Neovim 升级为完整 IDE | 开源日报 No.67
    视频编辑软件Premiere Pro 2022 mac(pr2023)v22.6.2中文功能
    电商通用(二)
    198. 打家劫舍
  • 原文地址:https://blog.csdn.net/fvafuc/article/details/133991024