什么是正交表测试 (OATS)?(工具、技术、示例)


测试团队经常面临如何在短时间内正确测试应用程序的问题。

在这样的情况下,详尽测试变得有问题,带来了诸如需要执行大量测试脚本、如何对脚本进行优先级排序、人为错误以及如果由同一个人执行太多脚本会导致疲劳等等问题。

因此,应用统计学被用于应用程序的测试以解决这些问题。因此,可以在不影响测试质量或效率的情况下运行更大范围的测试脚本。正交表测试方法是其中一种最重要的应用统计学方法,本文将对此进行深入解释。

在本文结束时,读者将全面了解如何在自己的应用程序中实施正交表测试,以及其优势和应用方法。

正交表测试 (OATS)?

正交表测试方法是一种用于检查成对交互的统计方法。我所见过的绝大多数缺陷都是由接触和集成引起的。

这种交互或集成可能发生在各种对象、组件、应用程序页面上的选项或文件中的配置设置内部。应用程序的功能是通过这种对象和组件的组合实现的。

很明显,一些组合没有被测试,导致测试不足。因此,使用正交表测试来覆盖测试范围内的完整功能,并用适当数量的选项进行评估。

这是一种组合测试技术,它确保在不牺牲测试质量的情况下,用有限且成比例的组合在测试下评估应用程序的完整功能

这种方法的优势在于,它可以在相对较少的测试用例下最大化覆盖率。已识别的参数对应该彼此独立。因为它是一种黑盒方法,所以我们不需要像其他 BB 技术那样理解系统的实现。这里的目标是找到合适的输入参数对。

有几种 CTD 方法,其中最常见的是 OATS(正交表测试技术)。

OAT(正交表测试)的目的是什么?

由于代码的复杂性,在当前情况下,向客户提供高质量的软件产品变得困难。

传统方法中的测试套件包含从输入值和先决条件的任意组合创建的测试用例。因此,必须覆盖一定数量的测试用例。

但是,在现实场景中,测试人员将没有时间运行所有测试用例以查找所有缺陷,因为在测试阶段还需要考虑其他流程,例如文档、建议和客户反馈

因此,测试经理试图优化测试用例的数量和质量,以便以最少的努力获得最大的测试覆盖率。这被称为测试用例优化。

  • 一种系统且统计的方法来测试成对交互

  • 交互和集成点是缺陷的重要来源。

  • 执行一组定义明确、简洁的测试用例,这些测试用例可能能够发现大多数(但不是全部)问题。

  • 正交方法确保所有变量都成对覆盖。

OATS 实施方法

正交表测试方法中的阶段如下:

  • 确定将评估多少个变量以进行交互。这些变量应映射到数组的因子。

  • 确定每个自变量可能的最大值数。这些值应映射到数组的水平。

  • 选择运行次数最少的正交表。可以使用各种网站来计算运行次数。这是一个此类网站的链接。

  • 创建一个包含因子和水平的数组。

  • 将它们转换为适当的测试用例。

  • 注意是否有任何剩余或唯一的测试用例(如果有)

完成上述步骤后,您的数组将准备就绪以进行测试,涵盖所有可能的组合。

如何表示 OATs?

要计算,请使用正交表测试 (OAT) 公式。

  • 运行 (N) – 数组中的行数,对应于创建的测试用例数。

  • 因子 (K) – 数组的列数,对应于可以处理的最大变量数。

  • 水平 (V) - 单个因子的最大可能值数。

每个因子检查两个到三个输入。水平由最大输入数决定。

示例

在许多注册表单中,例如首次应用程序安装或任何其他政府网站,我们提交我们的个人信息,例如姓名、年龄、资格等等。

以下是一个此类应用程序表单的示例。考虑以下场景:注册表单(网页)中有四个字段,每个字段都有特定的子选项。

年龄范围:

  • 未满 18 岁

  • 超过 18 岁

  • 超过 60 岁

性别字段可用。

  • 男性

  • 女性

  • 不适用

最高学历:

  • 高中

  • 大学本科

  • 研究生

母语:

  • 印地语

  • 英语

  • 其他

  • 步骤 1:确定印地语和英语中自变量的数量。有四个自变量(注册表单字段)= 四个因子。

  • 步骤 2:确定每个变量可能的最大值数。有三个值(每个字段中有三个子选项)= 三个水平。

  • 步骤 3:创建一个具有四个因子和三个水平的正交表。使用该链接,我们计算了所需的行数,为九行。

  • 正交表遵循 LRuns 模式(水平因子)。因此,我们情况下的正交表将是 L9 (34)。

运行因子 1因子 2因子 3因子 4
运行 10000
运行 20121
运行 30212
运行 41022
运行 51110
运行 61201
运行 72011
运行 82102
运行 92220
  • 步骤 4:映射生成的数组的因子和水平。

  • “因子 1”将替换为 AGE。

    “因子 2”将替换为性别。

    “因子 3”将替换为最高学历。

    “因子 4”将替换为母语。

    每个因子下的每个子选项将替换 0、1、2。(字段)。

    映射因子和水平后,正交表将如下所示:


运行年龄性别更高学历母语
运行 1未满 18 岁男性高中印地语
运行 2未满 18 岁女性研究生英语
运行 3未满 18 岁不适用大学本科其他
运行 4超过 18 岁男性研究生其他
运行 5超过 18 岁女性大学本科印地语
运行 6超过 18 岁不适用高中英语
运行 7超过 60 岁男性大学本科英语
运行 8超过 60 岁女性高中其他
运行 9超过 60 岁不适用研究生印地语
  • 步骤 5:上表中的每个运行都表示一个将在测试过程中处理的测试用例。每个运行都会添加一个测试条件。

OAT 的优势

  • 确保测试所选变量的所有成对组合。

  • 减少了测试用例的数量。

  • 减少了覆盖变量所有可能组合所需的测试用例数量

  • 可以创建复杂的变量组合。

  • 比手动创建的测试集更容易生成,并且错误更少。

  • 集成测试是它的一个很好的应用。

  • 减少的测试周期和测试时间提高了生产力。

OATS 的局限性

任何测试方法都无法确保 100% 的覆盖率。每种方法都有自己的确定测试条件的方法。同样,使用这种方法也有一些缺点:

  • 如果我们没有识别出好的配对,测试就会失败。

  • 可能无法识别出最重要的组合,导致缺陷丢失。

  • 如果我们不知道配对之间的交互,这种方法就会失败。

  • 仅此方法无法提供全面覆盖。

  • 它只能识别由于成对作为输入参数而导致的缺陷。

在 OAT 中出现的错误或失误

  • 测试工作的重点不应放在应用程序的错误部分。

  • 选择错误的参数进行组合是大忌。

  • 如果您只想测试一些内容,请避免使用正交表测试。

  • 手动执行正交表测试

  • 对于高风险应用程序,使用正交表测试。

结论

正交表测试是一种系统且统计的评估成对交互的方法。从大量情况中得出少量测试用例,并优先考虑组合输出中多次出现的元素和水平。

正交表测试可以通过以下方式应用于我们日常的应用程序测试:

  • 以系统的方式创建组件在其不同水平上的统计成对组合。

  • 创建使用更少测试场景并生成负测试用例优化的测试套件。

  • 检测提供的输入组合中的所有单、双和三模式故障。

  • 执行少量测试并查找大部分问题。

现在您已经掌握了正交试验法的实现,您可以快速将其集成到您的应用程序或网页中,在少量测试用例中涵盖程序功能的所有方面。

更新于: 2021年9月24日

1K+ 阅读量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告