什么是软件测试中的域测试?
域测试是一种测试过程,其中对软件进行测试以确保其不接受无效或超出范围的值。对输出进行测试以针对最少数量的输入,以查看系统是否在所需范围内接受输入。白盒测试是域测试的完美示例。
什么是白盒测试?
在此过程中,测试工程师测试内部结构、编码和软件设计,确保其符合输入-输出流。它还确定软件的设计、可用性和整体安全性。由于代码对测试人员可见,因此白盒测试也称为透明盒、透明盒、玻璃盒和基于代码的测试。这是因为白盒测试允许测试人员穿透应用程序的外壳并查看其内部结构。
白盒测试和黑盒测试都属于软件测试。区别在于,在黑盒中,软件是根据其外部和最终用户视角进行测试的。然而,在白盒中,测试是为了分析产品的内部结构。
域测试策略
一个特定的边界定义每个域。在测试期间,测试人员分析这些边界附近的每个点。每个测试过程都从一个问题开始,而域测试的目的是找到这些问题的解决方案。
- 为测试过程选择哪些域?
- 应该为测试选择哪些值?
- 如何将值分组到类中?
- 如何获得结果?
域测试示例
假设大厅里有一群学生。根据他们的年龄和性别输入,他们被分配了一系列任务。在这里,您可以将大厅视为测试,将年龄组视为具有多种可能场景的边界值。
以下列方式向学生分配任务:
10 岁以下的学生被要求画画。
- 10 >= 15 岁的男孩被要求参加比赛
- 10 >= 15 岁的女孩被要求参加体育运动
- 15 岁以上的男孩被要求跳舞
- 15 岁以上的女孩被要求唱歌
- 剩余 > 15 的学生被要求进行演示
在拥有上述算法后,测试人员需要将值分组到类中。您可以将学生分类为年龄组,然后设置边界值,例如最高和最低年龄值。
在域测试中测试哪些域?
您可以测试任何包含输入和输出功能的域。首先,您需要输入输入值并验证输出。
如何将值分组到类中?
为了将值分组到类中,您需要将值划分为子集。
您可以通过两种方式划分值:
等价划分
在此过程中,您必须将一组测试条件划分为组或集合,以便系统以等效的方式处理它们。简而言之,系统应将这些分区视为相同。
示例
变量 | 有效类等价类 | 无效类等价类 | 边界和特殊情况 |
---|---|---|---|
X | 0-20 | 0 | |
20 | |||
<0 | -1 | ||
>20 | 21 |
说明 - 如果某个字段接受 0-20 之间的范围,则它不应接受无效条目和超出边界条目,例如 -1 和 21。
该字段应仅接受 0、20 和它们之间的任何数字。
边界测试
边界测试分析或 BVA 是一种测试分区之间边界的过程。在此过程中,您必须测试分区中有效和无效的输入值。
示例 - 假设您正在通过在线平台订购三明治,并且系统要求您输入您打算订购的三明治数量。现在,规则是单个客户最多只能订购 10 个三明治。
因此,当您输入 1 到 10 的值时,它被认为是有效的。将显示成功消息。
如果您选择 11 到 99,则会被视为无效,从而导致错误消息。
在域测试中测试了哪些类的值?
您需要边界值来测试类的值。
从先前案例派生的示例。
测试条件:
- 三明治字段中 Number > 10 无效。
- Number > 1 被认为是无效的。
- Number 1 到 10 有效。
- 三位数无效。
如何确定结果?
输出结果是通过领域知识确定的。
如何制定域测试结构?
预先分析在设置边界时可能出错的地方
制定处理每种情况的策略
进行错误测试的检查点
使用一个测试点评估相邻域
取消不必要的测试点
- 运行测试
- 检查边界中的错误
验证每个边界都无缺陷
领域知识
领域知识是一套技能,表明您对特定领域有深刻的了解,并且熟悉该领域的所有已知术语。除了准确性之外,它还有助于通过缩短开发时间来缩短交付周期。
对于域测试,拥有领域知识是否重要?
对于专家进行域测试,拥有至少基本的领域知识非常重要。
领域知识至关重要,因为每个行业或领域都是独一无二的,并且有其特定的要求。
零售 - 在零售领域,工作流程在不同的层面运行。因此,希望在零售领域运行域测试的测试工程师必须了解仓库管理、店内解决方案等方面的工作原理。
网上银行 - 在线支持包括多项依赖于互联网的关键活动,例如登录、转账、账单支付等,这与零售完全不同。
医疗保健 - 处理医疗保健领域非常关键,因为它对某人的生命构成巨大风险。此外,它还包括许多琐碎但耗时的任务,例如患者的输入、健康史、处方、设置和修改时间表、保险等。
如您所见,每个域都有其自身独特性和挑战。因此,如果没有特定领域的领域知识,测试人员就无法进行域测试。