软考高级:黑盒测试方法(等价划分、边界值划分、错误推测、因果图)概念和例题

2024-05-24 15:36:57 浏览数 (2)

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。

一、AI 解读

黑盒测试是一种软件测试方法,它关注于程序的功能而不是其内部结构或工作原理。在黑盒测试中,测试人员使用程序的规格说明来设计测试用例,测试程序的输入与预期输出。下面是你提到的四种黑盒测试用例类型的概念讲解和例子:

测试用例类型

描述

例子

等价划分

将输入数据的域分成几个部分,每部分代表一类测试用例。假设每个部分中的数据对于揭露错误都是等效的。

假设一个程序输入年龄,年龄范围是1-100。等价划分可以是:有效等价类(1-100),无效等价类(<1或>100)。

边界值分析

在等价划分的基础上,测试等价类的边界值,因为经验表明,程序中的错误往往出现在输入或输出范围的边界上。

继续上面的例子,边界值为0, 1, 100, 101。

错误推测

基于经验和直觉推测程序中可能存在的错误,从而设计测试用例。

如果是一个文本输入框,测试人员可能会尝试输入空字符串、非常长的字符串或特殊字符,以检查程序是否能正确处理。

因果图

使用图形化方法表示输入条件与输出条件之间的因果关系,从而识别测试用例。这种方法适合于逻辑复杂的决策过程。

如果一个功能取决于多个输入条件的组合,如用户的账户类型和交易金额决定了手续费率,因果图可以帮助确定不同输入组合下的预期输出,从而设计出有效的测试用例。

二、AI 出题

  1. 黑盒测试的目的是什么? A. 测试程序的内部逻辑结构 B. 确认程序实现了业务需求 C. 优化程序代码 D. 测试程序的执行速度
  2. 在进行边界值分析时,如果输入的有效范围是[1,10],哪个不是应该测试的边界值? A. 0 B. 1 C. 11 D. 5
  3. 错误推测的依据是什么? A. 程序的源代码 B. 测试人员的经验和直觉 C. 用户反馈 D. 软件开发文档
  4. 当使用等价划分方法时,以下哪种情况不是一个有效的等价类? A. 用户输入的年龄为-1 B. 用户输入的年龄为25 C. 用户输入的年龄为150 D. 所有选项都是有效的等价类
  5. 因果图适合测试哪种类型的软件功能? A. 简单的输入输出功能 B. 复杂的逻辑决策功能 C. 软件的图形用户界面 D. 程序的性能测试
  6. 哪个不是黑盒测试的特点? A. 不需要了解程序的内部代码 B. 主要关注于程序的功能需求 C. 需要深入分析程序的内部逻辑 D. 通过输入输出来评估程序的行为

答案及解析:

  1. B. 确认程序实现了业务需求。黑盒测试关注于程序是否满足用户的需求和规格说明,而不是内部结构。
  2. D. 5。边界值包括范围的端点和它们的直接邻居,所以0和11是测试的边界值,但问题中问的是不应该测试的,因此D是正确的。
  3. B. 测试人员的经验和直觉。错误推测依赖于测试人员对可能出现错误的经验和预感。
  4. D. 所有选项都是有效的等价类。这个问题的陷阱在于,-1和150都属于无效等价类,25属于有效等价类,因此D选项错误,因为不是所有选项都是有效的等价类。
  5. B. 复杂的逻辑决策功能。因果图能有效地帮助理解和测试基于多种条件和逻辑关系决定输出的复杂功能。
  6. C. 需要深入分析程序的内部逻辑。黑盒测试的特点是不需了解程序的内部结构或代码,而是通过测试外部表现来评估程序的功能。

0 人点赞