正交表试验
正交表测试(OAT)是一种使用正交表创建测试用例的软件测试技术。正交数组测试通过将输入配对和组合,并使用相对较少的测试用例来测试系统以节省时间,从而帮助最大限度地提高测试覆盖率。
例如,当必须验证火车票时,必须测试乘客数量、车票号码、座位数量和车次等因素。在这种情况下,我们可以使用正交表测试法。
这种将输入和测试系统配对或组合以节省时间的类型称为成对测试。
在本教程中,将了解
- 什么是OAT(正交表测试)?
- 为什么选择OAT(正交表测试)?
- 正交的表述方式
- 如何进行正交表测试
- 正交表的优势
- 正交表的缺点
- 执行OAT时出现错误或错误
为什么选择OAT(正交表测试)?
在目前的场景中,由于代码的复杂性,向客户交付高质量的软件产品变得具有挑战性。
在传统方法中,测试套件包括从输入值和前提条件的所有组合导出的测试用例。因此,必须覆盖n个测试用例。
但在实际场景中,测试人员没有空闲时间执行所有测试用例来发现缺陷,因为在测试阶段还需要考虑其他流程,如文档、建议和来自客户的反馈。
因此,测试经理希望优化测试用例的数量和质量,以确保以最小的努力实现最大的测试覆盖率。这项工作称为测试用例优化。
- 成对交互作用检验的系统统计方法
- 交互和集成点是缺陷的主要来源。
- 执行定义良好、简明扼要的测试用例,这些用例可能会发现大多数(不是所有)错误。
- 正交方法保证了所有变量的两两覆盖。
正交表片的表述方式
正交表的计算公式
- Runs(N)-数组中的行数,转换为将生成的测试用例数量。
- Factor(K)-数组中的列数,转换为可以处理的最大变量数。
- Level(V)-可对任何单个因素取值的最大数量。
单个因素有2到3个要测试的输入。投入的最大数量决定了Level。
如何进行正交表测试:示例
- 确定场景的自变量。
- 查找具有运行次数的最小数组。
- 将因子映射到阵列。
- 选择任何“剩余”级别的值。
- 将运行转录成测试用例,添加未生成的任何特别可疑的组合。
示例1
网页有三个截然不同的部分(顶部、中间、底部),可以单独对用户显示或隐藏
- 系数数=3(顶部、中间、底部)
- Level数(可见性)=2(隐藏或显示)
- Array Type = L4(23)
(4是创建OAT数组后到达的运行次数)
如果我们采用传统的测试技术,需要像2X3=6这样的测试用例
测试用例 | 场景 | 要测试的值 |
---|---|---|
测试1 | 隐藏 | 顶部 |
测试2 | 如图所示 | 顶部 |
测试3 | 隐藏 | 底部 |
测试4 | 如图所示 | 底部 |
测试5 | 隐藏 | 中间 |
测试6 | 如图所示 | 中间 |
如果我们进行OAT测试,我们需要4个测试用例,如下所示:
测试用例 | 顶部 | 中间 | 底部 |
---|---|---|---|
测试1 | 隐藏 | 隐藏 | 隐藏 |
测试2 | 隐藏 | 可见 | 可见 |
测试3 | 可见 | 隐藏 | 可见 |
测试4 | 可见 | 可见 | 隐藏 |
示例2:
微处理器的功能必须经过测试:
- 温度:100摄氏度、150摄氏度和200摄氏度。
- 压力:2磅/平方英寸、5磅/平方英寸和8磅/平方英寸
- 掺杂量:4%、6%、8%
- 沉积速率:0.1 mg/s、0.2 mg/s、0.3 mg/s
通过使用传统方法,需要=81个测试用例来覆盖所有输入。让我们使用正交表方法:
因子=4(温度、压力、掺杂量和沉积速率)
级别=每个因素3个级别(温度有3个级别-100摄氏度、150摄氏度和200摄氏度,同样其他因素也有级别)
创建一个阵列,如下所示:
1. 具有编号的列因素的组合
测试用例编号 | 温度 | 压力 | 掺杂量 | 沉积率 |
---|---|---|---|---|
2. 输入行数等于每个因子的级别。因此,为每个温度级别插入3行,
测试用例编号 | 温度 | 压力 | 掺杂量 | 沉积率 |
---|---|---|---|---|
1 | 100C | |||
2 | 100C | |||
3 | 100C | |||
4 | 150C | |||
5 | 150C | |||
6 | 150C | |||
7 | 200C | |||
8 | 200C | |||
9 | 200C |
3. 现在将柱子中的压力、掺杂量和沉积率分开。
例如:在100C、150C和200C温度下输入2磅/平方英寸,同样在100C、150C和200C等温度下输入4%的掺杂量,依此类推。
测试用例编号 | 温度 | 压力 | 掺杂量 | 沉积率 |
---|---|---|---|---|
1 | 100C | 2磅/平方英寸 | 4% | 0.1 毫克/秒 |
2 | 100C | 5磅/平方英寸 | 6% | 0.2 毫克/秒 |
3 | 100C | 8磅/平方英寸 | 8% | 0.3 毫克/秒 |
4 | 150C | 2磅/平方英寸 | 4% | 0.1 毫克/秒 |
5 | 150C | 5磅/平方英寸 | 6% | 0.2 毫克/秒 |
6 | 150C | 8磅/平方英寸 | 8% | 0.3 毫克/秒 |
7 | 200C | 2磅/平方英寸 | 4% | 0.1 毫克/秒 |
8 | 200C | 5磅/平方英寸 | 6% | 0.2 毫克/秒 |
9 | 200C | 8磅/平方英寸 | 8% | 0.3 毫克/秒 |
因此,在OAS中,我们需要涵盖9个测试用例。
正交表的优势
- 保证测试所有选定变量的成对组合。
- 减少测试用例的数量
- 创建更少的测试用例,覆盖所有变量的所有组合的测试。
- 可以进行变量的复杂组合。
- 与手动创建的测试集相比,生成起来更简单,也更不容易出错。
- 对集成测试很有用。
- 由于减少了测试周期和测试时间,因此提高了工作效率。
正交表的缺点
- 随着数据输入的增加,测试用例的复杂性也随之增加。因此,测试人员必须进行自动化测试。
- 对于软件组件的集成测试非常有用。
执行OAT时出现错误
- 测试工作不应该集中在应用程序的错误区域。
- 避免选择错误的参数进行合并
- 避免将正交数组测试用于最小的测试工作量。
- 手动应用正交表测试
- 正交表测试在高风险应用中的应用
结论:
在这里,我们已经看到了如何使用OAT(正交数组测试)来减少测试工作量,以及如何实现测试用例优化。