全配对测试
全配对测试 (All-pairs) 也称为配对组合测试 (pair-wise testing),是一种使用组合方法测试软件的测试方法。这是一种测试所涉及参数的所有可能离散组合的方法。
假设我们有一个要测试的软件,每个输入字段有 10 个输入字段和 10 个可能的设置。然后,有 \(10^{10}\) 个可能的输入要测试。在这种情况下,即使我们希望测试所有组合,也不可能进行详尽的测试。
让我们通过举例来理解全对测试的概念。
1. 例
一个带有 10 个元素的简单列表框的应用程序(比如说 0,1,2,3,4,5,6,7,8,9)以及一个复选框,单选按钮,文本框和 OK 按钮。“文本”框的约束是它只能接受介于 1 和 100 之间的值。以下是每个 GUI 对象可以采用的值:
- 列表框 - 0,1,2,3,4,5,6,7,8,9
- 复选框 - 已选中或未选中
- 单选按钮 - 开或关
- 文本框 - 1 到 100 之间的任何值
计算应用程序的详尽组合。
List Box = 10
Check Box = 2
Radio Button = 2
Text Box = 100
使用笛卡尔方法的测试用例总数:1022*100 = 4000
测试用例(包括否定用例)总数为 > 4000
现在,我们的想法是降低测试用例的数量。我们将首先尝试使用传统的软件测试技术找出用例数量。我们可以将列表框值视为 0,将其他值视为 0 既不是正数也不是负数。单选按钮和复选框值不能减少。所以它们中的每一个都有 2 种组合(ON 或 OFF)。文本框值可以缩减为三个输入(有效整数,无效整数,Alpha 特殊字符)。
现在,我们将使用软件测试技术计算用例数量为 2 * 2 * 2 * 3 = 24
(包括否定用例)。
现在,我们仍然可以将组合进一步减少为全对技术。
步骤 1:对值进行排序,使得具有最多数值的值是第一个,最小值作为最后一个变量。
第 2 步:现在,开始逐列填充表。列表框可以取 2 个值。
第 3 步:正在讨论的下一栏将是复选框。同样,复选框可以取 2 个值。
第 4 步:现在,我们需要确保覆盖列表框和复选框之间的所有组合。
第 5 步:现在,我们将使用相同的策略来检查单选按钮。它可能需要 2 个值。
步骤 6:验证是否涵盖了所有配对值,如下表所示。
文本框 | 列表框 | 复选框 | 单选按钮 |
---|---|---|---|
有效整数 | 0 | 选中 | 开 |
有效整数 | 其他 | 取消选中 | 关 |
无效整数 | 0 | 选中 | 开 |
无效整数 | 其他 | 取消选中 | 关 |
特殊字符 | 0 | 选中 | 开 |
特殊字符 | 其他 | 取消选中 | 关 |
2. 配对测试的结果
彻底组合导致 > 4000 个测试用例。
传统的软件测试技术导致 24 个测试用例。
配对软件测试技术仅产生 6 个测试用例。