边界值分析与等价划分及示例
实际上,由于时间和财务限制,特别是当输入组合数量巨大时,对每组测试数据进行详尽测试是不切实际的。
我们需要一种简单的方法或特定的方法来智能地从测试用例池中选择测试用例,以确保覆盖所有测试情况。
为此,我们采用两种方法:等价划分和边界值分析测试过程。
软件测试,可以手动或自动进行,对于编写无错误的程序至关重要。尽管自动化测试节省了测试时间,但手动测试仍然是评估软件应用程序功能的最常见方法。我们将在本文中讨论最重要的手动软件测试方法。
有哪些不同类型的软件测试技术?
软件测试技术是一套有助于提高任何软件开发项目整体质量和有效性的实践。它有助于开发更好的测试用例,测试用例是一组条件或变量的集合,测试人员使用这些条件或变量来评估被测系统是否满足要求或正常运行。为了提高测试效率,许多测试方法被用作测试过程的一部分。
创建黑盒测试的技术
黑盒测试设计是一种测试方法,它检查被测应用程序 (AUT) 的功能,而无需查看底层代码结构、实现细节或软件内部路径的知识。这种类型的测试完全基于软件规范和需求。在黑盒测试中,我们只测试软件系统的输入和输出,而不关心程序的内部工作原理。通过采用这种方法,我们可以节省大量的测试时间并拥有强大的测试用例覆盖率。
通常使用五种类型的测试技术:
边界值分析 (BVA)
等价类划分
决策表测试
状态转换
错误猜测
本文仅深入介绍边界值分析和等价类划分。最后三种策略将在以后的文章中讨论。
BVA(边界值分析)
BVA 是另一种黑盒测试设计技术,用于检测输入域边界的缺陷(测试程序在输入边界处的行为),而不是中间部分。边界值测试背后的主要思想是选择输入变量值,这些值是:
最小值、略高于最小值、略低于最小值、标称值、略低于最大值、最大值和略高于最大值。也就是说,每个范围有两个边界:下边界(范围的开始)和上边界(范围的结束),边界表示每个有效划分的开始和结束。我们应该创建测试用例,在程序的极限处测试程序的功能,使用略高于和低于极限的值。压力测试和负面测试都包括边界值分析。
在本指南中,我们将学习以下内容:
什么是边界测试以及它是如何工作的?
什么是等价类划分,它是如何工作的?
示例 1 - 边界值和等价类
示例 2 - 边界值和等价类
等价类和边界分析测试的好处是什么?
什么是边界测试以及它是如何工作的?
测试输入数据划分之间极端端点或边界的技术称为边界测试。
这些极端端点,例如开始-结束、下限-上限、最大值-最小值、刚好内部-刚好外部值,被称为边界值,边界测试用于测试它们。
在正常的边界值测试中,主要思想是选择输入变量值,这些值是:
最小值
略高于最小值
最小值
略低于最大值
最大值
等价类划分在边界测试中很有用。
等价类划分之后是边界测试。
等价类划分
等价划分,也称为等价类划分,是一种黑盒测试方法,可用于软件开发的所有阶段,包括单元测试、集成测试和系统测试。由于测试用例数量最少,这种方法将输入数据单元划分为可用于生成测试用例的相似划分,从而减少了测试所需的时间。
它将程序输入数据划分为几个等价的数据类型。
当输入字段存在范围时,可以使用此方法。
示例 1 - 边界值和等价类
考虑“订购比萨文本框”的行为。比萨值范围从 1 到 10 被认为是有效的。显示消息“成功”。
而值 11 到 99 被认为是无效的订单,将显示一条错误消息“最多只能订购 10 个比萨”。
测试场景如下:
在“订购比萨”表单中提交的任何大于 10 的数字(例如 11)都被认为是无效的。
任何小于 1 并为 0 或以下的数字都被认为是无效的。
数字 1 到 10 被接受为有效。
任何三位数,例如 -100,都是无效的。
我们不能测试所有可能的值,因为这将导致超过 100 个测试用例。为了解决这个问题,我们使用等价划分假设,该假设将票证的可能值划分为组或集合,如下所示,其中系统的行为是相似的。
等价分区或等价类是分割的集合。然后,为了测试,我们从每个分割中只选择一个值。这种方法基于这样的思想:如果分区中的一个条件/值通过,则其他所有条件/值也将通过。同样,如果分区中的一个条件失败,则分区中的其他条件也将失败。
**边界值分析 (BVA)** 是一种确定等价分区之间边界的技术。
在之前的等价划分示例中,您不会为每个分区测试一个值,而是会检查分区处的值,例如 0、1、10、11 等。您可以看到,您测试有效和无效限制处的值。边界值分析也称为范围检查。
边界值分析 (BVA) 和等价划分密切相关,可以在所有测试级别一起使用。
示例 2:边界值和等价类
下面的密码框允许最小 6 个字符,最大 10 个字符。
因此,分区 0-5、6-10、11-14 的结果应该相似。
测试场景 # | 测试场景描述 | 预期结果 |
---|---|---|
1 | 在密码字段中输入 0 到 5 个字符 | 系统应该拒绝 |
2 | 在密码字段中输入 6 到 10 个字符 | 系统应该接受 |
3 | 在密码字段中输入 11 到 14 个字符 | 系统应该拒绝 |
示例 3:输入框中应接受数字 1 到 10。
此处可以找到边界值测试用例。
边界值 = 0 - 系统应该拒绝
边界值 = 1 - 系统应该接受
边界值 = 2 - 系统应该接受
边界值 = 9 - 系统应该接受
边界值 = 10 - 系统应该接受
边界值 = 11 - 系统应该拒绝
使用边界值分析的优势是什么?
考虑以下场景:开发人员编写了一个金额文本字段的代码,该字段只接受和传输100到5000之间的数字。测试工程师通过在金额文本框中输入99并按下传输按钮来仔细检查它。由于边界值已设置为100和5000,它将显示一条错误提示,指出99是错误的测试用例。由于99小于100,因此文本表单不会传输金额。
下面是一些有效和无效测试场景的集合。
有效的测试用例
输入100,这是最小值。
输入值101,这是最小值加一。
输入数字4999,这是最大可能值。
输入值5000,这是最大可能值。
不可靠的测试用例
输入99,这是最小值。
输入金额5001,这是最大值加一。
等价类和边界分析测试的好处是什么?
这种测试方法用于将大量的测试用例分解成更小、更易于管理的部分。
选择测试场景的非常明确的标准,不会危及测试有效性。
适用于需要大量计算并且有很多变量/输入的应用程序。
等价划分法分为两部分
1. Pressman规则 − 如果输入是一个数字范围,则为一个有效值和两个无效值创建测试用例。
如果输入是一组值,则为所有合法值集以及两个无效值提供测试用例。
考虑以下场景 −
考虑任何在线购物网站,其中每个产品都应由唯一的ID和名称标识。用户可以使用产品名称或产品ID搜索产品。您可以查看包含产品ID的产品列表,并查看其中是否有任何是笔记本电脑(有效值)。
如果输入是布尔值,则为真值和假值创建测试用例。考虑以下示例网页,它具有名字、姓氏和电子邮件地址的文本字段,以及使用布尔输入的性别单选按钮。
如果用户单击任何单选按钮,则应将相关值设置为输入。如果用户选择不同的选项,则输入值必须更改以反映新的选择(并且先前选择的选项应取消选择)。
当选择单选按钮选项时,它被视为TRUE,而当未选择任何选项时,则被视为FALSE。此外,不应该同时选择两个单选按钮;如果这样做,则认为这是一个问题。
2. 实践方法 − 将所有有效值的数值范围划分为可比较的部分,同时确保测试两个无效值。
结论
当几乎不可能单独评估大量的测试用例时,就会执行边界值分析测试。使用的方法包括边界值分析和等价划分测试。
首先,您将一组测试条件分成可以在等价划分中检查的多个分区。
接下来,使用边界值分析测试等价划分之间的边界。
适用于需要大量计算并且包含反映物理量的变量的应用程序。