【软件工程】软件测试:黑盒测试(等价类/边界值/因果图)
📅 2026/7/18 17:24:08
👁️ 次浏览
考点频率★★★★★选择题必考下午案例题高频难度⭐⭐⭐建议重点掌握等价类划分和边界值分析的具体操作步骤因果图法以理解概念为主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黄冈黄金白银铂金回收实测榜单|公安备案中检认证无损测金无折旧费门店
黄冈黄金回收哪家靠谱|工商公安双备案中检认证实体门店
黄冈本地贵金属回收店铺遍地丛生,行业套路层出不穷,不少市民变现遭遇虚高报价、克扣损耗、未经同…
📅 2026/7/18 17:24:08
作为一名后端开发,我对"几百块建站"这件事一直持怀疑态度。在我印象中,一个合格的 WooCommerce 站,光是支付对接、安全加固、性能优化这几项,就要花掉一个熟练开发者至少一两天的时间。按深圳开发者的时薪算,…
📅 2026/7/18 17:24:08
在包装行业,不少人认为东莞的礼盒包装公司靠谱,但仍有人踩坑。有行业统计显示,超半数客户在礼盒定制中遭遇过问题。这背后是多方面因素。从市场层面看,东莞包装市场鱼龙混杂,部分小作坊伪装成专业公司。它们缺乏正规生…
📅 2026/7/18 17:23:08
Lerwee Agentic Ops WorkBuddy打通感知、分析、执行全链路闭环
当服务器弹出磁盘使用率高达 92% 的严重告警时,放在传统运维模式里,接下来就是一套耗时繁琐的固定流程:
运维人员登录堡垒机 ↓
逐条执行磁盘查看命令 ↓
逐层目录排查占用…
📅 2026/7/18 18:17:25
从Tesla Optimus、Figure,到国内不断涌现的人形机器人产品,行业正不断向更高的运动性能、更低的能耗和更高的可靠性发展。无论是奔跑、上下楼梯,还是抓取、搬运等任务,机器人都需要在尽可能轻量化的前提下,实现更高的结…
📅 2026/7/18 18:17:25
1. CPU主频的本质与物理意义主频(Clock Speed)是CPU最基础也最容易被误解的参数之一。它本质上指的是晶体振荡器产生的基准时钟信号的频率,单位为赫兹(Hz)。现代CPU的主频通常以GHz(10^9 Hz)为单…
📅 2026/7/18 18:17:25
API 传输数据时 fastjson 循环引用检测($ref)会作怪
一、背景
在 HistoryPriceHandler 中,需要根据一批 crmId 构造出多个 HistoryPriceQuery,再调用 wso2Utils.getHistoryPrice(...) 发送给 WSO2 历史价格接口。
构造逻辑大致是&…
📅 2026/7/18 18:17:25
最近好几个做私域团长的老朋友找我,开口就问:“能不能搞到跟某法系头部品牌720同款质感的红棕调口红?客户就要那个丝绒哑光、高折射率光泽的上唇体验。”我直接泼冷水:15元一支,连正经的合成酯和高折射率油脂都买不到&…
📅 2026/7/18 18:17:25
Faster-Whisper-GUI:5分钟掌握免费开源的AI语音转文字终极方案 【免费下载链接】faster-whisper-GUI faster_whisper GUI with PySide6 项目地址: https://gitcode.com/gh_mirrors/fa/faster-whisper-GUI
还在为会议录音整理而烦恼吗?面对大量音频…
📅 2026/7/18 18:16:24
更多请点击:
https://kaifayun.com
第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…
📅 2026/7/18 0:00:33
更多请点击:
https://codechina.net
第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…
📅 2026/7/18 0:00:33
作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…
📅 2026/7/18 0:00:33
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/18 4:14:57
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/18 0:00:49
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/18 16:05:28
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/18 7:01:02
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/18 17:01:33
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/18 5:00:56