什么是软件测试中的领域测试? (附示例)
什么是域测试?
域测试 是一个 软件测试 通过提供最少数量的输入并评估其适当的输出来测试应用程序的过程。域测试的主要目标是检查软件应用程序是否接受可接受范围内的输入并提供所需的输出。
这是一个 功能测试 用最少的输入测试系统输出的技术,以确保系统不接受无效和超出范围的输入值。它是最重要的测试方法之一 白色 Box 测试 方法。它还验证系统不应接受指定或有效范围之外的输入、条件和指标。
每个特定领域的领域测试都不同,因此您需要具备特定领域的知识才能测试软件系统。
更简单的领域测试实践
在域测试中,我们将域划分为子域(等价类),然后使用每个子域的值进行测试。例如,如果已指定一个网站(域)进行测试,我们将把该网站划分为小部分(子域),以方便测试。
领域可能涉及任何一个输入变量或输入变量组合的测试。
从业者通常对领域测试的最简单案例的研究少于另外两个名称“边界测试”和“等价类分析”。
边界测试 – 边界值分析 (BVA) 基于分区之间的边界测试。我们将测试分区/类中的有效和无效输入值。
等价类测试 – 该技术背后的想法是将一组测试条件划分(即分区)为可以被视为相同的组或集合(即系统应该等效地处理它们),因此称为“等价划分”。
该简化形式适用于域测试 -
- 仅针对输入变量的测试
- 仅在系统级测试时
- 仅当一次测试一个时
- 仅当以非常肤浅的方式进行测试时
可以简化如下:
请按需咨询 | 有效类 等价类 | 无效类等价类 | 边界和特殊情况 | 笔记 |
---|---|---|---|---|
X | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
说明:
- 如果字段接受的范围是 0 到 100,则该字段不应接受 -1 和 101,因为它们是无效条目并且超出了边界。
- 该字段应接受诸如 0,100 以及它们之间的任意数字的值。
像这样建造表格(在实践中)
- 要构建随时间变化的等价类分析,请将信息输入电子表格。首先列出变量。获取变量信息后,添加相关信息。
- 该表最终应包含所有变量。这意味着所有输入变量、所有输出变量以及您可以观察到的任何中间变量。
- 实际上,我见过的大多数表格都是不完整的。最好的表格列出了所有变量,并添加了关键变量的详细信息。
领域测试策略
在进行域测试时,您需要考虑以下事项,
- 我们正在测试哪个域?
- 如何将值分组?
- 要测试哪些类别的值?
- 如何确定结果?
我们正在测试哪个域?
我们测试的任何领域都有一些输入功能和输出功能。将有一些输入变量需要输入,并且必须验证适当的输出。
域测试示例
- 考虑单个输入测试场景:
C = a+b,其中 a 和 b 是输入变量,C 是输出变量。
在上面的例子中,不需要对变量进行分类或组合。
- 考虑以下多个输入和适当的输出场景:
考虑一个儿童游戏展览,其中设置了 6 项比赛,需要根据年龄和性别输入提供门票。售票是游戏展览整体功能需要测试的模块之一。
根据情景,我们根据年龄和比赛得到了六种情景:
- 年龄 >5 且 <10 岁的男孩应该参与讲故事。
- 年龄 >5 岁且 <10 岁的女孩应参加绘画比赛。
- 年龄 >10 且 <15 岁的男孩应参加测验。
- 年龄 >10 且 <15 岁的女孩应参加论文写作。
- 年龄<5岁,男孩和女孩均应参加押韵比赛。
- 年龄>15岁,男孩和女孩均应参加诗歌比赛。
此处输入的是年龄和性别,因此将发出比赛门票。这种情况下,输入的分区或简单的值分组就出现了。
如何将值分组?
对某些值进行分区意味着将其分成不重叠的子集。
正如我们前面讨论过的,分区有两种类型:
- 等价划分 – 等价划分是一种 软件测试 将软件单元的输入数据划分为可从中派生测试用例的等效数据分区的技术。原则上,测试用例的设计应覆盖每个分区至少一次。
- 边界值分析 – 边界值分析是一种 软件测试 测试旨在包含某个范围内的边界值的代表。这个想法来自于 边界.
对于上面的例子,我们将值划分为一个子集或子集。我们将年龄划分为以下类别:
- 1类: 5 至 10 岁的儿童
- 第 2 类: 5 岁以下儿童
- 3类: 年龄为 10 至 15 岁儿童
- 4类: 年龄大于 15 岁的儿童。
要测试哪些类别的值?
为测试而选取的值应该是边界值:
- 边界是我们从中抽样的等价类的代表。它们比其他类成员更容易暴露错误,因此它们是更好的代表。
- 等价类的最佳代表是范围之间的值。
对于上面的例子,我们有以下类需要测试:
例如对于场景#1:
- 1类: 5 至 10 岁年龄段的儿童(年龄 >5 且 <=10 岁)
边界值:
- 值应等于或小于 10。因此,年龄 10 应包含在此类中。
- 值应大于 5。因此,年龄 5 不应包括在此类中。
- 值应等于或小于 10。因此,11 岁不应包括在此类中。
- 值应大于 5。因此,6 岁应包含在此类中。
等价分割值:
等价分区是指每个分区只需测试一个条件的情况。在这种情况下,我们假设如果分区中的一个条件有效,那么所有条件都应该有效。同样,如果该分区中的一个条件不起作用,那么我们假设其他条件都不会起作用。例如,
(年龄 >5 岁且 <=10 岁)
由于 6 到 10 之间的值是有效的,因此必须从 6,7,8,9、10、8、5 和 10 中选择一个值。因此,选定的年龄“XNUMX”是介于 (年龄 >XNUMX 且 <=XNUMX) 之间的年龄组的有效输入年龄。这种划分称为等价划分。
EventXtra XNUMX大解决方案 | 应采取的边界值 | 等价分割值 |
---|---|---|
男孩 – 年龄 >5 岁且 <=10 岁 | 输入年龄 = 6 输入年龄 = 5 输入年龄 = 11 输入年龄 = 10 |
输入年龄 = 8 |
女孩 – 年龄 >5 岁且 <=10 岁 | 输入年龄 = 6 输入年龄 = 5 输入年龄 = 11 输入年龄 = 10 |
输入年龄 = 8 |
男孩 – 年龄 >10 岁且 <=15 岁 | 输入年龄 = 11 输入年龄 = 10 输入年龄 = 15 输入年龄 = 16 |
输入年龄 = 13 |
女孩 – 年龄 >10 岁且 <=15 岁 | 输入年龄 = 11 输入年龄 = 10 输入年龄 = 15 输入年龄 = 16 |
输入年龄 = 13 |
年龄<=5 | 输入年龄 = 4 输入年龄 = 5 |
输入年龄 = 3 |
年龄> 15 | 输入年龄 = 15 输入年龄 = 16 |
输入年龄 = 25 |
我们如何确定程序是通过还是未通过测试?
传递功能不仅取决于上述场景的结果。给定的输入和预期的输出将为我们提供结果,这需要领域知识。
确定示例的结果:
因此,如果上述所有测试用例都通过,则竞赛中发放门票的领域就算通过了。如果没有通过,则该领域就算失败了。
领域测试结构
通常,测试人员在域测试中遵循以下步骤。这些步骤可以根据我们的测试需求进行定制/跳过。
- 识别可能有趣的变量。
- 确定您现在可以分析的变量并对其进行排序(从小到大,反之亦然)。
- 如上所述创建并识别边界值和等价类值。
- 确定次要维度,并用传统方法分析每个维度。(在上面的例子中,性别是次要维度)。
- 识别并测试保存结果的变量(输出变量)。
- 评估程序如何使用该变量的值。
- 确定组合测试中可能相关的其他变量。
- 想象一下不一定映射到明显维度的风险。
- 识别并列出未分析的变量。收集信息以供日后分析。
- 使用风险/等价表总结您的分析。
总结
如上所述,领域测试需要提供正确的输入以实现所需的输出。因此,它只能用于小块代码。