我正在尝试成对测试,并希望使用基于Python的成对测试工具。我已经试过了(http://pypi.python.org/pypi/AllPairs/2.0.1). 当我在一个列中给出10个条目时,它有缺陷。目前正在使用Microsoft PICT生成成对组合。在
Python中有没有工具可以为大型数组生成成对组合?在
所有对中的Bug 如果我给你这个
parameters = [ [ "Brand X", "Brand Y","Brand A","Brand B","Brand C","Brand D" ]
, [ "98", "NT", "2000", "XP"]
, [ "Internal", "Modem","A","B","C","D","E","F","G","H","I","J","K","L","M" ]
, [ "Salaried", "Hourly", "Part-Time", "Contr.","AA","BB","CC","DD","EE","FF","GG","HH","II" ]
, [ 6, 10, 15, 30, 60, 70, 80, 90, 100, 110, 120, 130, 140 ]
]
输出是
^{pr2}$为了这个
parameters = [ [ "Brand X", "Brand Y","Brand A","Brand B","Brand C","Brand D" ]
, [ "98", "NT", "2000", "XP"]
, [ "Internal", "Modem" ]
, [ "Salaried", "Hourly", "Part-Time", "Contr." ]
, [ 6, 10, 15, 30, 60 ]
]
输出是
Brand X count is 5
Brand Y count is 5
Brand A count is 5
Brand B count is 5
Brand C count is 5
Brand D count is 6
我认为,对于较大的阵列,这是不正确的。在
我刚刚为mspict实现创建了一个包装器,这可能对您有用。显然有依赖性,但节省了重新创建轮子。在
TL;DRAllPairs返回一个有效的成对测试集,尽管品牌和Windows版本的分布不均匀。在
示例
以下是您的示例:
有效性:
如果您检查,您会发现PICT和AllPairs都包含所有993个2元组。这意味着PICT和AllPairs都返回有效集。在
上述示例中的2元组的总数为:
^{2}$性能:
典型的测试用例数为O(nm),其中n和m是最大的两个参数。在这种情况下:15*13=195是测试集的绝对最小数量。在
AllPairs返回200个5元组
PICT返回206个5元组
因此PICT和AllPairs返回到测试集的最小数量。在
分布:
Raj指出,AllPairs返回的测试集分布不均匀。在
品牌:
版本:
PICT返回分布更均匀的测试集
品牌:
版本:
说明
品牌和版本分布不均仍然有效的原因是这两个字段的基数最低(6和4)。所以AllPairs似乎用大量的
Brand Y
和Windows 98
来填充网络和工资所需的5元组以下是每个字段的基数:
这样的怎么样?在
用法(使用您在问题中定义的
^{2}$parameters
列表):我认为仍有一些优化空间(上面的生成器生成的结果比预期的稍多),但我认为您会同意它比使用笛卡尔积要短得多:
相关问题 更多 >
编程相关推荐