边界值分析与等价划分

⚡ 智能摘要

等价类划分和边界值分析是黑盒测试技术,它们将大的输入范围压缩成等价类并测试划分边界,从而在有效和无效输入上实现强大的缺陷检测和有效的覆盖。

  • 分区输入: 将值分组为有效和无效两类,以消除冗余。
  • Target 边界: 测试最小值、接近最小值、标称值、接近最大值和最大值。
  • 两者结合: 首先使用等价类划分,然后使用边界值分析来分析边缘缺陷。
  • 最大程度地覆盖: 每个类别一个值,用于验证所有等效输入的行为。
  • 使用人工智能 Generators: AI工具可自动发现分区并创建边界情况。

边界值分析五点模型

由于时间和组合的限制,穷举测试很少可行。等价类划分和边界值分析通过分组来解决这个问题。ping 输入相似的数据,并针对其边缘进行优化,以更少的病例实现更强的覆盖。

什么是等价类划分?

等价划分 (也称为等价类划分或 ECP)是一种黑盒测试技术,它将输入数据划分为若干等价值组。测试人员为每个类选择一个代表,并假设软件对每个成员的行为都相同。

  • 将输入域拆分为有效等价类和无效等价类。
  • 适用于所有情况 测试级别—单元、集成、系统和验收。

什么是边界值分析?

边界值分析(BVA)也称为范围检查,BVA 验证每个等价类的极端值。由于缺陷往往集中在范围边缘,BVA 着重关注以下五个关键点:

  1. 最低限度
  2. 略高于最低限度
  3. 名义价值
  4. 略低于最高限额
  5. 最大

边界值分析五点模型

BVA 可以补充等价类划分:一旦定义了类,它们的边界值就会暴露出差一错误和边缘错误。

为什么要使用等价类划分和边界值分析?

当组合数量过多而无法进行穷举测试时,智能选择测试方法至关重要。这些方法具有以下三个优点:

  1. 将大量的测试用例压缩成易于管理的小块。
  2. 提供明确的规则来选择测试数据,同时又不牺牲有效性。
  3. 适用于计算密集型应用,以及大量的数值变量。

如何进行等价类划分(示例)

  • 请参考下面的“订购披萨”文本框。
  • 数量 1~10 均有效;将显示成功消息。
  • 数量 11–99 无效,触发 “只能订10个披萨”.
订购披萨:

测试条件:

  1. 任何大于10的数字都是无效的。
  2. 小于 1 的任何数字均无效。
  3. Numbers 1-10 均有效。
  4. 任何像-100这样的三位数都是无效的。

测试每个值会产生 100 多个用例。等价类划分将领域划分为具有相同行为的类。

披萨输入的等价划分组

这些群体被称为 等价类为每个班级选择一个值——如果该值通过,则所有其他值都通过;如果该值未通过,则整个班级未通过。

等价类代表值

如何进行边界值分析(示例)

使用相同的披萨字段,BVA 检查的是分区边界而非标称值。测试人员评估 0、1、10 和 11——涵盖有效和无效边界。

披萨输入的边界值分析

对于接受 1 到 10 之间值的输入,边界测试用例如下:

测试场景 Description 预期成果
边界值 = 0 系统不应该接受
边界值 = 1 系统应该接受
边界值 = 2 系统应该接受
边界值 = 9 系统应该接受
边界值 = 10 系统应该接受
边界值 = 11 系统不应该接受

等价类划分与边界值分析

两者都能减少测试量,但在重点和时间安排上有所不同。

方面 等价划分 边值分析
专注 等量投入物组 各组的边缘
数据选择 每个类别一个值 最小值、接近最小值、标称值、接近最大值、最大值
最适合 减少冗余案例 捕获差一缺陷
下单 首先申请 接下来应用

示例:密码字段验证

密码字段接受 6 到 10 个字符,形成三个分区——0-5、6-10 和 11-14——每个分区内的结果都相同。

输入密码:
# 测试场景 预期成果
1 请输入 0 到 5 个字符 系统不应该接受
2 请输入 6 到 10 个字符 系统应该接受
3 请输入 11 到 14 个字符 系统不应该接受

等价类划分和BVA的最佳实践

遵循以下做法,在控制测试数量的同时,保持较高的测试覆盖率:

  • 绘制每个域的地图: 首先列出有效分区、无效分区和特殊分区。
  • 分别检验每个极限的两侧: 包含内外两侧的值,以捕获差一错误。
  • 结合多种技术: 可与决策表或状态转换测试结合使用,以实现复杂的逻辑。
  • 自动处理极端情况: 对边界值进行参数化,以便回归测试套件能够一致地运行。

关键精华

  • 等价类划分将相似的输入分组;每个类别只需一个值即可。
  • 边界值分析验证分区界限和有效/无效边。
  • 两者都是针对数值或范围字段的黑盒技术。
  • 将它们结合起来,既能减少测试量,又不会降低缺陷检测质量。

边界值分析与等价分割测试视频

点击 开始 如果视频无法访问

常见问题

等价类划分为每个类选取一个代表;边界值分析则针对每条边上的极端值。划分方法减少样本量,而边界值分析则找出极限缺陷。

等价类划分是一种黑盒测试技术,因为它只关注输入输出行为,而无需访问源代码。测试人员根据规范推导出划分结果,因此它适用于单元测试、集成测试、系统测试和验收测试等各个级别。

是的。两者都适用。 API测试其中,参数和有效载荷字段通常具有数值范围或长度限制。测试人员会定义有效输入、无效输入和边界输入的分区。

当输入并非数值范围时(例如无序集、布尔标志或类别值),应避免使用边界值分析 (BVA)。决策表或状态转换测试效果更佳,因为边界在这些情况下没有意义。

稳健 BVA 在标准方法的基础上,增加了有效范围之外的值(一个低于最小值,一个高于最大值),以验证系统如何拒绝明显无效的输入。

是的。人工智能生成器会分析需求和模式,从而建议等价类和边界值。类似这样的工具。 Testim 金益辉 马布尔 快速从缺陷历史和表面极端案例中吸取教训。

人工智能检测重叠ping 机器学习能够识别测试人员容易忽略的分区、冗余用例和遗漏的边缘。它能够根据缺陷历史记录对高风险边界进行排序,从而实现更智能的测试选择和更快的细微问题检测。

是的。 JUnit, TestNGpytest 支持参数化测试,允许测试人员将分区和边界值定义为输入数据集。这使得在持续集成 (CI) 流水线中系统地执行等价性和边界情况测试成为可能。

总结一下这篇文章: