黑盒测试先看输入输出,不看代码内部
黑盒测试把被测对象看成一个盒子,重点观察输入、输出和外部行为是否符合需求。它不是说测试人员完全不懂技术,而是在设计用例时不依赖代码结构、语句路径或内部实现。
考试里如果题干强调需求规格、输入条件、输出结果、业务规则,通常更偏黑盒;如果强调语句覆盖、路径覆盖、条件覆盖,就更偏白盒。
| 方法 | 题干信号 | 适合场景 |
|---|---|---|
| 等价类划分 | 输入很多,但可以分成有效类和无效类 | 从每类中选代表数据,减少重复测试 |
| 边界值分析 | 有范围、上限、下限、长度限制 | 重点测边界点和边界附近的数据 |
| 判定表法 | 多个条件组合决定动作 | 规则较多、条件之间有组合关系 |
| 状态迁移测试 | 登录、锁定、解锁、流转、状态变化 | 系统行为取决于当前状态和触发事件 |
等价类和边界值经常一起出现,但关注点不同
等价类划分关注把大量输入分组。比如年龄输入可以分成合法年龄、过小、过大、空值、非数字等类别,每类选代表值测试。它解决的是“数据太多,怎么选代表”。
边界值分析关注错误最容易出现在边界附近。比如密码长度 6 到 20 位,除了正常值,还要重点测 5、6、7、19、20、21 这类点。它解决的是“临界点容易错”。
判定表法适合规则组合,不是简单测一个输入框
如果题干里有多个条件共同决定结果,比如会员等级、订单金额、优惠券状态、库存状态共同决定是否优惠或是否允许下单,就适合想到判定表法。它能把条件组合和对应动作列清楚。
很多同学把判定表法也当成输入范围测试,这是不准确的。它真正有价值的地方在于条件组合,尤其是业务规则比较多、漏测某个组合会出问题的时候。
状态迁移测试要抓住当前状态和触发事件
状态迁移测试常见于登录、订单、审批、工单、会员状态等场景。比如账号从正常到锁定,再从锁定到解锁,不同状态下同一个操作可能产生不同结果。
题干如果反复出现“当前状态”“触发事件”“进入下一状态”,就不要只用等价类或边界值去套,状态迁移测试往往更贴合。
考试里最常见的误判
第一类误判是把黑盒测试理解成随便点点页面。黑盒测试同样需要严谨设计,只是依据来自需求和外部行为。第二类误判是见到输入框就只选边界值,实际上输入框如果有多类非法输入,也可能先做等价类。
第三类误判是忽略组合规则。很多业务错误不是单个条件错,而是几个条件组合后才暴露。遇到组合,就要想到判定表;遇到状态变化,就要想到状态迁移。
相关题目解析
下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。
- 黑盒测试和白盒测试有什么区别?黑盒测试 / 测试用例
- 等价类划分法怎么设计测试用例?等价类划分 / 软件评测师等价类划分
- 边界值分析为什么常考 0、1、100、101?边界值分析 / 测试设计
- 边界值分析法适合测试哪些输入条件?边界值分析 / 边界值分析法
- 判定表法适合测试什么场景?判定表测试 / 软件评测师判定表
- 状态迁移测试适合用在什么场景?状态迁移测试 / 测试用例设计
- 回归测试的目的是什么?回归测试 / 软件评测师回归测试
- 性能测试和压力测试有什么区别?性能测试 / 压力测试