② SPEC
测试的基石
你测完了,然后呢?——谁来告诉你"对不对"?
SPEC = 一把"尺子",告诉你什么算"正常"。
核心三要素:
• 测什么(测试项) • 怎么测(条件与方法) • 什么算通过(判据/阈值)
四大来源:
| 来源 | 例子 |
|---|---|
| 客户需求 | 功耗≤xxW |
| 行业标准 | JEDEC、USB |
| 内部标准 | 老化流程 |
| 设计规格 | 产品目标 |
① 证伪法
测试的底层思维
定义:假设系统正常 → 通过测试证伪假设
源自波普尔的证伪主义——科学理论只能被证伪,不能被证实。
三大体现:
-
负向测试:故意输入异常,验证"异常会不会崩"
-
探索性测试:边学习边测试,逐步缩小范围
-
失效测试:刻意制造失效条件,观察容错能力
🧪 测试方法论
你无法证明系统没有 bug,但通过测试可以 发现 bug。
测试说到底就一件事——找出系统哪里不对。
③ 测试分类
多角度理解覆盖范围
按测试对象分:
• 黑盒:只测输入输出(功能、安规)
• 白盒:关注内部逻辑(信号完整性)
• 灰盒:介于两者(EMC、热设计)
按测试目的分:
功能 · 性能 · 压力 · 可靠性 · 环境 · 功耗 · 兼容 · 安全 · EMC · 回归
④ 通用流程
执行框架
6 步闭环:
- 明确测试目标
- 建立假设
- 依据 SPEC 制定步骤
- 执行测试(从简单→复杂)
- 分析结果(基于执行记录)
- 回归验证
核心原则: • 先缩小范围再深入 • 每一步记录过程和结果
⑤ 实战案例
开机后屏幕无显示
前提: 已安装 DDR+SSD+OS 现象: 按电源键后屏幕一直无显示
排查路径(从外→内):
| 层级 | 嫌疑 | 方法 |
|---|---|---|
| 1 | 显示器/线材 | 插拔重连 |
| 2 | 电源供电 | 观察指示灯 |
| 3 | DDR内存 | 换已知OK的 |
| 4 | SSD存储 | 移除观察BIOS |
每步:「假设→操作→观察→结论」
🛠️ 10 种常用测试方法速查
方法 1:控制变量法
一次只变一个
怎么做: 出问题后,每次只改变一个因素,保持其他不变,观察结果变化。
场景: 多嫌疑对象,需要逐个排除
控制变量是定位问题最基础也最重要的方法。
方法 6:A/B 对比
同机换件前后对比
怎么做: 两个尽量相同的对象,只让一个有"嫌疑"差异,完全相同条件下跑同一测试。
场景: 验证特定部件/版本问题
只有一处差异,对比结果一目了然。
方法 2:边界值分析
测"刚过线"的那一档
怎么做: 对有范围/阈值的参数,重点测边界附近的值,而不是中间那些"显然没问题"的值。
场景: 温度、电压、频率等临界点
方法 7:故障注入
故意让它"出事"
怎么做: 在正常系统中人为引入异常条件,观察系统能否正确应对。
常见: 突然断电 · 断网 · 坏件替换 · 高负载
验证"优雅地失败"还是"直接崩溃"。
方法 8:压力/极限测试
重负载跑够时间
怎么做: 在接近或超过设计极限的条件下长时间运行。
常见: 满载烤机 · 老化 · 极限温度
很多问题靠"累计"暴露——发热、电压、时序积累。
方法 9:回归测试
修好了再跑一遍
怎么做: 修复后不仅重新测试修复项,还把之前通过的关键测试项再跑一遍。
场景: 每次修复 bug · 固件升级 · 换件后
防止"修好了这个,坏了那个"。
💡 使用方法速查表:点击方法名可跳转至文章对应章节深入阅读。每种方法都标注了「开机无显示案例」,与第五章实战形成双向参照。
方法 3:等价类划分
挑代表,别全测
怎么做: 按特征分组,同组行为相同,每组只测一个代表。
场景: 测试对象太多无法穷举
用可观测的代理指标对状态做等价划分。
方法 4:正交实验法
科学抽样,减少组合
怎么做: 用"正交表"科学抽样,用尽可能少的组合覆盖尽可能多的参数搭配。
场景: 多参数交叉,组合爆炸
3×4×3全排列要36组,正交法只需9~12组。
方法 5:二分定位
一次砍掉一半范围
怎么做: 把范围一分为二,先测中间点,根据结果决定下一步测哪一半。
场景: 排查范围大,每步耗时
16步最多4次定位。控制变量的"加速版"。
方法 10:用户视角
像用户一样去用
怎么做: 放下测试员身份,用用户的操作习惯、误操作方式来使用产品。
场景: 奇怪的 bug 无法复现
用户可能不按说明书操作——这才是真实世界。
步骤 2a:换 DDR
A/B 对比
用已知正常的 DDR 替换
| 结果 | 结论 |
|---|---|
| 灯可切换 | 原DDR故障✅ |
| 仍不切换 | 非DDR,硬件检测 |
步骤 3a:换新SSD
回归验证
| 结果 | 结论 |
|---|---|
| 正常显示 | SSD故障排除✅ |
| 仍无显示 | 固件/兼容性问题 |
💡 整个流程体现从外部到内部的排查思维,每一步只改变一个变量,问题被精确定位到具体部件。
🔍 实战排查流程图(从外部到内部、从简单到复杂)
步骤 1:电源供电
排除外部设备
操作: 观察电源指示灯
| 状态 | 结论 |
|---|---|
| 🔴 不亮 | 未供电 |
| 🟡 亮后灭 | 供电不足 |
| 🟢 持续亮 | 正常→步骤2 |
步骤 2:BIOS启动
证伪法
操作: 插键盘,切换 Num Lock/Caps Lock 灯
| 键盘灯 | 结论 |
|---|---|
| ❌ 不切换 | BIOS未启动→步骤2a |
| ✅ 正常 | BIOS已启动→步骤3 |
步骤 3:无SSD检测
故障注入
移除 SSD,仅保留 DDR 开机
| 显示 | 结论 |
|---|---|
| ❌ 无BIOS页 | BIOS/显示链路问题 |
| ✅ 显示BIOS | 原SSD故障→步骤3a |
✅ 排查完成
回归验证
重新跑完整开机流程:
电源 → BIOS → SSD识别 → OS启动
验证无副作用
防止"修好这个,坏了那个"