考点频率★★★★★选择题必考下午案例题高频难度⭐⭐⭐建议重点掌握等价类划分和边界值分析的具体操作步骤因果图法以理解概念为主1️⃣ 什么是黑盒测试黑盒测试又称功能测试或数据驱动测试把程序看作一个不透明的“黑盒子”测试人员不关心程序内部结构和代码逻辑只根据需求规格说明书来检查程序是否按预期工作输入数据后能否得到正确的输出结果。类比你买了一台自动售货机你不需要知道它内部电路板上的芯片型号、控制程序怎么写的——你只需要按下“可乐”按钮它出来一瓶可乐这就是功能正确。适用阶段系统测试、验收测试站在用户角度验证功能。2️⃣ 等价类划分法2.1 核心思想把输入数据划分成若干个等价类从每个等价类中选取一个代表性数据作为测试用例。如果该数据能通过测试则认为该类中的其他数据也能通过——因为它们在功能上等价。为什么有效对于同一类输入程序的执行路径是相同的。只要测一类中的一个就不需要测所有值大大减少测试用例数。2.2 等价类的分类类型定义示例输入条件年龄 1~120有效等价类符合需求规格、应该被接受的输入18、65、120合理年龄无效等价类不符合需求规格、应该被拒绝的输入0、-5、150超出范围2.3 划分步骤步骤操作第1步确定输入条件需求中的每一个输入字段第2步为每个输入条件划分有效等价类和无效等价类第3步为每个等价类编号第4步从每个等价类中选取一个代表性数据设计测试用例划分规则输入条件规定了取值范围如 1~100→ 1个有效等价类1~100 2个无效等价类1、100输入条件规定了值的集合如 {红, 黄, 蓝}→ 1个有效等价类任意一个 1个无效等价类集合外的值输入条件规定了布尔值如是否同意协议→ 1个有效等价类true 1个无效等价类false2.4 示例某系统要求“用户名长度为 3~10 个字符”等价类类型测试数据3~10 个字符有效“abc”3个小于3个字符如1个无效“a”大于10个字符如11个无效“abcdefghijk”空字符串无效“”每个测试用例一次只能覆盖一个无效等价类不能在一个用例中同时包含多个无效输入否则无法确定是哪个输入导致程序拒绝。3️⃣ 边界值分析法3.1 核心思想边界是错误最容易发生的地方。程序在处理边界值如循环边界、数组边界、数值范围边界时代码往往写得不严谨容易产生Bug。边界值分析法就是专门去测试这些边界附近的值。常见边界输入范围的最小值/最大值数组的第一个/最后一个元素循环的第一次/最后一次迭代3.2 基本原则对于取值范围为[min, max]的输入需要测试的边界值包括类型测试值略小于最小值min - 1最小值min略大于最小值min 1正常值(min max) / 2略小于最大值max - 1最大值max略大于最大值max 13.3 示例输入条件年龄 1~120测试值说明预期结果0略小于最小值拒绝1最小值接受2略大于最小值接受60正常值接受119略小于最大值接受120最大值接受121略大于最大值拒绝记忆技巧“上点、内点、离点”——上点是边界值本身1和120内点是范围内的任意值60离点是边界外紧挨的值0和121。3.4 等价类 vs 边界值对比项等价类划分边界值分析关注点输入数据的分类输入数据的边界测试值每个类中选1个代表性值边界附近的所有值目标减少测试用例数发现边界处缺陷两者通常结合使用先用等价类划分选出代表性测试点再对边界值进行补充测试通常被称为“等价类边界值”组合测试法。4️⃣ 因果图法4.1 核心思想因果图法是一种用于测试多个输入条件组合的测试方法。当多个输入条件之间存在逻辑关系如“如果A且B则输出X如果A或B则输出Y”仅靠等价类和边界值无法覆盖所有组合需要用因果图来分析。核心步骤步骤操作第1步分析需求列出所有输入条件原因和输出结果结果第2步分析输入条件之间的关系与、或、非和约束第3步画出因果图第4步将因果图转化为判定表第5步根据判定表设计测试用例4.2 因果图中的基本符号符号名称含义恒等c → e原因成立 → 结果成立非c NOT e原因成立 → 结果不成立与ANDc1 AND c2 → e两个原因都成立 → 结果成立或ORc1 OR c2 → e至少一个原因成立 → 结果成立4.3 判定表决策表判定表是因果图的输出用于系统地列出所有条件组合及其对应的结果。条件1条件2条件3动作TTT结果ATTF结果BTFT结果A…………因果图法更侧重于需求分析阶段用于梳理复杂的逻辑关系。软考中更常考的是因果图转判定表以及判定表的化简。5️⃣ 三种黑盒测试方法对比对比项等价类划分边界值分析因果图法关注点输入数据的分类输入数据的边界输入条件的逻辑关系适合场景输入范围广泛、类型多样输入有明确范围限制多个输入条件相互依赖测试用例数量少每类1个中等边界附近多个多组合数增长能否单独使用✅ 可以✅ 通常与等价类结合⚠️ 通常需要配合判定表6️⃣ 经典例题例题1某系统要求用户年龄输入范围为 18~65 岁。根据边界值分析法以下测试数据中不需要测试的是 。A. 17B. 18C. 19D. 66解析边界值测试应覆盖min-117、min18、min119、normal如40、max-164、max65、max166。66在范围内66 65属于max1需要测试。实际上需要测试的是17、18、19、64、65、66。题干问“不需要测试的是”——选项D是66需要测试A是17需要测试B是18需要测试。C是19也属于边界附近需要测试。嗯这道题可能不严谨。换个方式如果题目问“应该优先测试哪些值”答案是17、18、19、64、65、66。选C是边界值不对。重新出题更典型的题某系统输入条件为“1 ≤ X ≤ 100”下列哪组数据是边界值测试应选的A. 0, 1, 2, 99, 100, 101B. 1, 50, 100C. 0, 50, 101D. 1, 2, 99, 100解析边界值应选 min-1、min、min1、max-1、max、max1。对应 0、1、2、99、100、101。选A。例题2以下关于黑盒测试的叙述中正确的是 。A. 黑盒测试需要了解程序的内部代码结构B. 等价类划分法将输入数据划分为有效类和无效类C. 边界值分析法只测试输入范围的最小值D. 因果图法不需要考虑输入条件之间的关系解析A错误——黑盒测试不关注内部代码C错误——边界值需测试边界附近多个值D错误——因果图法正是关注输入条件之间的逻辑关系。B正确。选B。7️⃣ 记忆口诀黑盒测试看功能等价边界因果图。等价划分有效无边界测试七点值。因果分析看组合画出因果转判定。8️⃣ 小测验评论区对答案某系统要求“密码长度必须为 6~12 个字符”。下列测试数据中最符合边界值分析法要求的是 。A. “12345”, “123456”, “1234567”, “123456789012”, “1234567890123”B. “123456”, “123456789012”C. “12345”, “123456”D. “123”, “123456”, “123456789012”, “1234567890123”本专栏日更点击头像 → 专栏《软考中级高频考点》订阅第一时间接收新内容#软考中级 #软件设计师 #黑盒测试 #等价类 #边界值 #因果图 #软件工程
【软件工程】软件测试:黑盒测试(等价类/边界值/因果图)
发布时间:2026/7/18 17:24:23
考点频率★★★★★选择题必考下午案例题高频难度⭐⭐⭐建议重点掌握等价类划分和边界值分析的具体操作步骤因果图法以理解概念为主1️⃣ 什么是黑盒测试黑盒测试又称功能测试或数据驱动测试把程序看作一个不透明的“黑盒子”测试人员不关心程序内部结构和代码逻辑只根据需求规格说明书来检查程序是否按预期工作输入数据后能否得到正确的输出结果。类比你买了一台自动售货机你不需要知道它内部电路板上的芯片型号、控制程序怎么写的——你只需要按下“可乐”按钮它出来一瓶可乐这就是功能正确。适用阶段系统测试、验收测试站在用户角度验证功能。2️⃣ 等价类划分法2.1 核心思想把输入数据划分成若干个等价类从每个等价类中选取一个代表性数据作为测试用例。如果该数据能通过测试则认为该类中的其他数据也能通过——因为它们在功能上等价。为什么有效对于同一类输入程序的执行路径是相同的。只要测一类中的一个就不需要测所有值大大减少测试用例数。2.2 等价类的分类类型定义示例输入条件年龄 1~120有效等价类符合需求规格、应该被接受的输入18、65、120合理年龄无效等价类不符合需求规格、应该被拒绝的输入0、-5、150超出范围2.3 划分步骤步骤操作第1步确定输入条件需求中的每一个输入字段第2步为每个输入条件划分有效等价类和无效等价类第3步为每个等价类编号第4步从每个等价类中选取一个代表性数据设计测试用例划分规则输入条件规定了取值范围如 1~100→ 1个有效等价类1~100 2个无效等价类1、100输入条件规定了值的集合如 {红, 黄, 蓝}→ 1个有效等价类任意一个 1个无效等价类集合外的值输入条件规定了布尔值如是否同意协议→ 1个有效等价类true 1个无效等价类false2.4 示例某系统要求“用户名长度为 3~10 个字符”等价类类型测试数据3~10 个字符有效“abc”3个小于3个字符如1个无效“a”大于10个字符如11个无效“abcdefghijk”空字符串无效“”每个测试用例一次只能覆盖一个无效等价类不能在一个用例中同时包含多个无效输入否则无法确定是哪个输入导致程序拒绝。3️⃣ 边界值分析法3.1 核心思想边界是错误最容易发生的地方。程序在处理边界值如循环边界、数组边界、数值范围边界时代码往往写得不严谨容易产生Bug。边界值分析法就是专门去测试这些边界附近的值。常见边界输入范围的最小值/最大值数组的第一个/最后一个元素循环的第一次/最后一次迭代3.2 基本原则对于取值范围为[min, max]的输入需要测试的边界值包括类型测试值略小于最小值min - 1最小值min略大于最小值min 1正常值(min max) / 2略小于最大值max - 1最大值max略大于最大值max 13.3 示例输入条件年龄 1~120测试值说明预期结果0略小于最小值拒绝1最小值接受2略大于最小值接受60正常值接受119略小于最大值接受120最大值接受121略大于最大值拒绝记忆技巧“上点、内点、离点”——上点是边界值本身1和120内点是范围内的任意值60离点是边界外紧挨的值0和121。3.4 等价类 vs 边界值对比项等价类划分边界值分析关注点输入数据的分类输入数据的边界测试值每个类中选1个代表性值边界附近的所有值目标减少测试用例数发现边界处缺陷两者通常结合使用先用等价类划分选出代表性测试点再对边界值进行补充测试通常被称为“等价类边界值”组合测试法。4️⃣ 因果图法4.1 核心思想因果图法是一种用于测试多个输入条件组合的测试方法。当多个输入条件之间存在逻辑关系如“如果A且B则输出X如果A或B则输出Y”仅靠等价类和边界值无法覆盖所有组合需要用因果图来分析。核心步骤步骤操作第1步分析需求列出所有输入条件原因和输出结果结果第2步分析输入条件之间的关系与、或、非和约束第3步画出因果图第4步将因果图转化为判定表第5步根据判定表设计测试用例4.2 因果图中的基本符号符号名称含义恒等c → e原因成立 → 结果成立非c NOT e原因成立 → 结果不成立与ANDc1 AND c2 → e两个原因都成立 → 结果成立或ORc1 OR c2 → e至少一个原因成立 → 结果成立4.3 判定表决策表判定表是因果图的输出用于系统地列出所有条件组合及其对应的结果。条件1条件2条件3动作TTT结果ATTF结果BTFT结果A…………因果图法更侧重于需求分析阶段用于梳理复杂的逻辑关系。软考中更常考的是因果图转判定表以及判定表的化简。5️⃣ 三种黑盒测试方法对比对比项等价类划分边界值分析因果图法关注点输入数据的分类输入数据的边界输入条件的逻辑关系适合场景输入范围广泛、类型多样输入有明确范围限制多个输入条件相互依赖测试用例数量少每类1个中等边界附近多个多组合数增长能否单独使用✅ 可以✅ 通常与等价类结合⚠️ 通常需要配合判定表6️⃣ 经典例题例题1某系统要求用户年龄输入范围为 18~65 岁。根据边界值分析法以下测试数据中不需要测试的是 。A. 17B. 18C. 19D. 66解析边界值测试应覆盖min-117、min18、min119、normal如40、max-164、max65、max166。66在范围内66 65属于max1需要测试。实际上需要测试的是17、18、19、64、65、66。题干问“不需要测试的是”——选项D是66需要测试A是17需要测试B是18需要测试。C是19也属于边界附近需要测试。嗯这道题可能不严谨。换个方式如果题目问“应该优先测试哪些值”答案是17、18、19、64、65、66。选C是边界值不对。重新出题更典型的题某系统输入条件为“1 ≤ X ≤ 100”下列哪组数据是边界值测试应选的A. 0, 1, 2, 99, 100, 101B. 1, 50, 100C. 0, 50, 101D. 1, 2, 99, 100解析边界值应选 min-1、min、min1、max-1、max、max1。对应 0、1、2、99、100、101。选A。例题2以下关于黑盒测试的叙述中正确的是 。A. 黑盒测试需要了解程序的内部代码结构B. 等价类划分法将输入数据划分为有效类和无效类C. 边界值分析法只测试输入范围的最小值D. 因果图法不需要考虑输入条件之间的关系解析A错误——黑盒测试不关注内部代码C错误——边界值需测试边界附近多个值D错误——因果图法正是关注输入条件之间的逻辑关系。B正确。选B。7️⃣ 记忆口诀黑盒测试看功能等价边界因果图。等价划分有效无边界测试七点值。因果分析看组合画出因果转判定。8️⃣ 小测验评论区对答案某系统要求“密码长度必须为 6~12 个字符”。下列测试数据中最符合边界值分析法要求的是 。A. “12345”, “123456”, “1234567”, “123456789012”, “1234567890123”B. “123456”, “123456789012”C. “12345”, “123456”D. “123”, “123456”, “123456789012”, “1234567890123”本专栏日更点击头像 → 专栏《软考中级高频考点》订阅第一时间接收新内容#软考中级 #软件设计师 #黑盒测试 #等价类 #边界值 #因果图 #软件工程