软件测试 - 等价类划分测试
开发的软件会经过多个测试阶段,以验证其是否符合规格说明。在黑盒测试中,会验证软件针对输入生成的输出。等价类划分是黑盒测试下的一个概念。它是一种将输入数据范围划分为多个类,然后将其转换为测试类别的技术。
什么是等价类划分?
等价类划分是一种在软件测试中非常流行的测试设计技术。它使测试人员能够将输入数据划分为多个组。它有助于最大限度地减少测试总数,而不会影响实现良好的测试覆盖率。它有助于在测试软件时处理大型测试数据。
如何设置等价类?
如果提供一系列条件作为输入,则应该有一个有效等价类和两个无效等价类。如果将特定数据视为输入,则应该有一个有效等价类和两个无效等价类。如果从数据范围中选择特定输入,则应该有一个有效等价类和两个无效等价类。最后,如果选择布尔值作为输入条件,则应该有一个有效等价类和一个无效等价类。
示例
让我们以一个电子商务应用程序为例,该应用程序提供以下范围内的折扣:
Transactions of less than $ 1 are not allowed in the application. For transactions from $1 to $150, a discount of 5 % would be given. For transactions from $151 to $250, a discount of 10 % would be given. For transactions from $251 to $3500, a discount of 25 % would be given. Transactions of more than $ 3500 are not allowed in the application.
等价类划分 | ||||
---|---|---|---|---|
无效 | 有效 5% | 有效 10% | 有效 25% | 无效 |
>$1 | 1 美元至 150 美元 | 151 美元至 250 美元 | 251 美元至 3500 美元 | < $3500 |
从上面的等价类划分表中,我们将输入数据划分为逻辑上的有效和无效分区。此外,我们还可以清楚地了解需要测试哪些值才能获得不同的折扣值。它还有助于确定最佳测试用例数量,以实现最佳测试覆盖率。
等价类划分减少了测试随机值的可能性。我们需要测试无效分区较高和较低端的一些值,然后集中测试各个有效分区内的一些值。在我们的示例中,对于较低的无效分区,我们可以选择 0.99 美元和 0 美元的值进行测试;对于较高的无效分区,我们可以选择 3506 美元和 4000 美元的值进行测试;对于第一个有效分区,我们可以选择 1 美元和 140 美元的值进行测试;对于第二个有效分区,我们可以选择 152 美元和 250 美元的值进行测试;对于第三个有效分区,我们可以选择 251 美元和 4000 美元的值进行测试。
通过应用等价类划分,我们可以实现非常好的测试覆盖率,并且可以验证电子商务应用程序折扣功能的每个分区。因此,我们将不同模块在特定场景中行为相似或逻辑上相等的部分划分为有效和无效分区。然后,在这些分区内,无论选择该范围内哪些值,输出都将相同。例如,对于所有交易金额在 1 美元和 150 美元之间的交易,都应该有相同的 5% 折扣。如果将等价类划分与边界值分析一起使用,则可以获得最佳的测试覆盖率。
为什么使用等价类划分?
使用等价类划分的原因如下:
- 它有助于以设计的最佳测试用例数量实现最佳测试覆盖率。
- 由于我们只需要创建最佳数量的测试用例,因此可以节省大量时间和精力。
- 它有助于检测每个等价分区的边界值处的错误。
- 它提供重用测试用例的选项。
- 基于等价类划分的测试用例更容易维护。
等价类划分的优点
等价类划分的优点如下:
- 它增强了测试用例的质量和有效性。
- 它有助于提高测试覆盖率。
- 它节省了大量的测试时间和精力。
- 它可以检测出软件中大量的错误。
- 它提高了整体软件质量。
等价划分法的缺点
等价划分法的缺点列举如下:
- 它仅限于输入数据集及其生成的输出,而不对软件的不同组件如何相互交互进行任何验证。
- 对于复杂和集成场景,很难提出等价划分。
- 它需要测试人员了解软件才能提出所有等价划分。
- 虽然等价划分提供了良好的覆盖率,但它并不能保证识别软件中的所有缺陷。
结论
本教程对软件等价划分测试进行了全面的讲解。我们从描述什么是等价划分、如何设置等价划分、等价划分的示例、为什么要使用等价划分、等价划分的优点以及等价划分的缺点开始。这使您能够深入了解软件等价划分测试。建议您持续练习所学内容,并探索与软件测试相关的其他知识,以加深理解并拓宽视野。