什么是正交阵列测试 (OATS)?(工具、技术、示例)
测试团队经常面临如何在短时间内正确测试应用程序的问题。
在这种情况下,穷举测试会出现问题,会带来诸如要执行的大量测试脚本、如何对脚本进行优先级排序、人为错误以及如果同一个人完成太多脚本时的疲劳等问题。
因此,AppliedStatistics用于测试应用程序以解决此类问题。因此,可以在不影响测试质量或效率的情况下运行更大范围的测试脚本。将在本文中深入解释的正交阵列测试方法是最重要的应用统计程序之一。
在本文的末尾,读者将全面了解正交阵列测试在他们自己的应用程序中的实现,以及它的好处和应用方法。
正交阵列测试(OATS)?
正交阵列测试方法是一种用于检查成对相互作用的统计方法。我见过的大多数缺陷都是接触和整合的结果。
这种交互或集成可以发生在各种对象、组件、应用程序页面上的选项或文件中的配置设置中。应用程序作为对象和组件的这种组合的结果而起作用。
很明显,有些组合没有经过测试,导致测试不充分。因此,正交阵列测试用于覆盖测试范围内的完整功能,并带有适当数量的待评估替代方案。
这是一种组合测试技术,可确保在不牺牲测试质量的情况下,使用有限且成比例的测试组合来评估应用程序的整个功能
这种方法的好处是它可以用相对较少的测试用例来最大化覆盖率。识别的参数对应该彼此独立。因为它是一种黑盒方法,所以我们不需要像其他BB技术那样了解系统的实现。这里的目标是找到合适的输入参数对。
有几种CTD方法,其中最常见的是OATS(正交阵列测试技术)。
OAT(正交阵列测试)的目的是什么?
由于代码的复杂性,在当前情况下,向客户提供优质的软件产品已变得困难。
传统技术中的测试套件包括从输入值和前提条件的任意组合创建的测试用例。因此,必须覆盖一定数量的测试用例。
但是,在实际场景中,测试人员将没有时间运行所有测试用例来查找所有缺陷,因为在测试阶段还有其他流程需要考虑,例如文档、建议和客户反馈
因此,测试经理试图优化测试用例的数量和质量,以轻松实现最大的测试覆盖率。这称为测试用例优化。
一种测试成对相互作用的有条理的统计方法
交互和集成点是缺陷的重要来源。
执行一组定义明确、简洁的测试用例,这些用例可能会发现大多数(但不是全部)问题。
正交方法确保所有变量都成对覆盖。
OATS实施方法论
正交阵列测试方法的阶段如下-
确定将评估多少个变量以进行交互。这些变量应该映射到数组的因子。
确定每个自变量的最大可能值数。这些值应该映射到数组的级别。
选择运行次数最少的正交阵列。可以使用各种网站来计算运行次数。这是一个此类网站的链接。
创建一个包含因子和水平的数组。
将它们转换为适当的测试用例。
留意任何剩余的或独特的测试用例(如果有)
完成上述步骤后,您的阵列就可以进行测试,涵盖所有可能的组合。
OAT是如何表示的?
要进行计算,请使用正交阵列测试(OAT)公式。
Runs(N)–数组中的行数,对应于创建的测试用例数。
Factors(K)–数组的列数,对应于可以处理的最大变量数。
级别(V)-单个因子的最大可能值数。
为每个因素检查两到三个输入。级别由输入的最大数量决定。
示例
在许多注册表单中,例如首次安装应用程序或任何其他政府网站,我们会提交我们的个人信息,例如姓名、年龄、资格等。
以下是此类申请表的示例。考虑以下场景:注册表(网页)中有四个字段,带有特定的子选项。
年龄范围-
未满18岁
超过18
60多个
性别字段可用。
男性
女性
不适用
最高资质-
中学
毕业
毕业后
母语-
印地语
英语
其他
步骤1-确定印地语和英语中自变量的数量。有四个自变量(注册表单字段)=四个因素。
步骤2-为每个变量建立可能值的最大数量。有三个值(每个字段中的三个子选项)=三个级别。
步骤3-创建一个具有四个因子和三个级别的正交数组。使用该链接,我们计算了所需的行数,即9。
正交数组遵循LRuns模式(LevelsFactors)。因此,我们案例中的正交阵列将是L9(34)。
第4步-映射生成的数组的因子和级别。
AGE将取代“因素1”。
性别将取代“因素2”。
最高资格将取代“因素3”。
母语将取代“因素4”。
各自因素下的每个子选项将替换0、1、2.(字段)。
映射因子和级别后,正交阵列将如下所示-
步骤5-上表中的每个运行表示将在测试过程中解决的测试用例。每次运行都会添加一个测试条件。
OAT的优势
确保测试所选变量的所有成对组合。
减少了测试用例的数量。
减少覆盖所有可能的变量组合所需的测试用例数量
可以创建复杂的变量组合。
与手工制作的测试集相比,更容易生产且不易出错。
集成测试是它的一个很好的应用。
减少的测试周期和测试周期提高了生产力。
OATS的局限性
任何测试方法都无法确保100%的覆盖率。每种方法都有其确定测试条件的方法。同样,使用这种方法也有几个缺点-
如果我们不能确定好的配对,测试将失败。
未能识别最重要的组合,从而导致缺陷丢失的可能性。
如果我们不知道配对之间的相互作用,这种方法就会失败。
仅此方法不能提供全面的覆盖。
它只能识别由于对作为输入参数而导致的故障。
在OAT期间犯的错误或错误
测试工作的重点不应该放在应用程序的错误部分。
选择错误的参数进行组合是一个很大的禁忌。
如果您只想测试几件事,请避免使用正交阵列测试。
手动进行正交阵列测试
对于高风险应用,使用正交阵列测试。
结论
正交阵列测试是一种评估成对相互作用的系统和统计方法。小组的测试用例来自大量的情况,在组合输出中多次出现的元素和级别被优先考虑。
正交阵列测试可用于我们的日常应用程序测试-
以有条不紊的方式创建跨级别组件的统计成对组合。
创建使用较少测试场景并生成负面测试用例优化的测试套件。
检测提供的输入组合中的所有单、双和三模式故障。
执行一小组测试并找出大部分问题。
现在您已经掌握了正交阵列测试的实现,您可以快速将其包含到您的应用程序或网页中,在少量测试用例中涵盖程序功能的所有元素。