📜  黑匣子测试中的用例技术(1)

📅  最后修改于: 2023-12-03 15:29:01.666000             🧑  作者: Mango

黑匣子测试中的用例技术

黑匣子测试是指测试人员不知道被测系统的内部代码实现,只知道功能和接口规范,通过外部输入和输出的测试数据,检查系统是否能够正确地响应这些输入,以此验证系统的正确性、健壮性以及安全性。

因为黑匣子测试没有对内部代码进行断点调试,测试人员只能通过输入输出的方式去评估系统的正确性,因此,需要充分的测试用例来尽量涵盖系统的各个方面。

以下是常见的黑匣子测试用例技术:

等价类划分

等价类划分是一种常用的黑匣子测试用例技术,它将输入值划分为多个等价类,然后从每个等价类中选择一个典型代表进行测试。一般来说,典型代表应该足以代表该等价类中的所有输入情况。

比如,一个输入只能为 0 到 100 之间的整数,可以将输入值划分为四个等价类,分别是小于 0、等于 0 到 100 之间、大于 100 和非整数。然后,从每个等价类中选择一个典型代表进行测试,比如 -1、50、200 和 1.5。

以下是一个简单的等价类划分的例子:

| 输入 | 等价类 | 典型代表 | | --------- | --------- | --------- | | -10 | 小于 0 | -10 | | 0 | 0-10 之间 | 5 | | 50 | 0-100 之间 | 50 | | 200 | 大于 100 | 200 | | 1.5 | 非整数 | 1.5 |

边界值分析

边界值分析是指以系统允许的最小值和最大值及其相邻的值作为测试用例的技术。因为很多系统在最小值和最大值处容易出错,所以在这些边界周围的值也会被选择作为测试用例。边界值分析是非常必要的一种用例技术,它可以验证系统是否对输入数据的范围有正确的响应。

比如,一个输入只能在 50 到 100 之间,可以选择以下边界测试用例:

  • 输入值为 49
  • 输入值为 50
  • 输入值为 51
  • 输入值为 99
  • 输入值为 100
  • 输入值为 101

以下是一个简单的边界值分析的例子:

| 输入 | 边界 | 测试用例 | | --------- | --------- | --------- | | -100 | 最小值 | -100 | | 0 | 最小值 + 1 | 1 | | 100 | 最大值 - 1 | 99 | | 1000 | 最大值 | 1000 |

决策表测试

决策表测试是一种将输入序列映射到输出序列的方法,通常会列出一张表格,列出系统可以进行的所有决策,并且列出每个决策对应的输入和输出。测试用例的目的是涵盖表格中的每个决策,以此验证系统是否能正确处理所有输入。

以下是一个简单的决策表测试的例子:

| 决策 | 输入 1 | 输入 2 | 输出 | | --------- | --------- | --------- | --------- | | 奇偶性 | 奇数 | - | true | | 奇偶性 | 偶数 | - | false | | 范围 | 0-10 | - | Positive | | 范围 | 10-20 | - | Neutral | | 范围 | 20-30 | - | Negative |

组合测试

组合测试是指在两个或多个输入之间组合选择测试用例的技术。通过组合测试,可以测试系统在不同输入组合情况下的正确性、健壮性和安全性。

以下是一个简单的组合测试的例子:

| 输入 1 | 输入 2 | 测试用例 | | --------- | --------- | --------- | | A | X | A-X | | A | Y | A-Y | | B | Y | B-Y | | C | Z | C-Z |

总结:以上四种黑匣子测试用例技术是非常基础和常用的,是每个测试人员必须掌握的技能之一。除此之外还有很多其他的技术,比如状态转换测试、因果图测试等,可以根据具体情况进行选择。