硬件测试中 关于缺陷的问题 | 我的笔记(3)
目录
2.8 接口模块(USB / UART / CAN / 网口)
一、开篇:我的困惑与思考
在这两天的学习中,我写测试用例时发现一个问题:不同产品、项目会包含不同的模块,因此测试内容也必然不同。但我往往无法全面地写出重要且有效的测试项,对操作步骤、实际结果的描述,以及各种情况的多样性,也只能粗略地写出现象,不够精准和全面。
以AMS1117稳压驱动LED为例,当测试LED能否正常工作时,若发现LED微微闪烁,我会这样思考:
首先,LED能发亮但微闪,说明电压基本足够,可以排除稳压输出完全没有滤波电容导致的自激振荡缺陷。问题大概率出在纹波上:
-
电源本身的工频纹波和开关噪声过大。
-
稳压输出端滤波电容容值不足(例如仅使用了0.01μF的陶瓷电容)。
针对这两个可能的根因,我的解决方案是:
-
对于电源纹波和噪声:在稳压输入端串接一个10μH的电感,并上一个47μF的电解电容和一个0.1μF的陶瓷电容。
-
对于输出滤波不足:在输出端补充10μF电解电容 + 0.1μF陶瓷电容,以满足datasheet要求。
此时我产生了两个疑惑:
-
我的测试结果描述是否完整?辅助工具给我的结果如下:
-
空载时LED轻微闪烁,负载增加到300mA时,LED频闪明显,肉眼可见。
-
示波器测得输出纹波峰峰值约150mV,远超datasheet要求的20mV以内。
-
-
我对缺陷根因的分析是否全面?目前只想到了输出端纹波问题,而辅助工具它给了我另一分析。
这两个问题直指核心:一是测试项想不全,二是描述不清、不准确,不够全面也不够精简。
我向”辅助工具“咨询了这些疑惑,得到的解决方案是:背模板,套框架。
模块无非就是电源、通信、传感器、负载、主控等几大类,每个模块都有固定的必测项。例如,几乎所有产品都需要电源,那么电源模块就必须测试输入输出电压、纹波、带载能力等。初学期记住这些固定项,拿到一个产品时,就能有方向地思考“需要测什么”和“可能会出什么错”。
二、硬件测试基石:模块化拆解与测试模板
2.1 核心心法:三步分析法
面对一块陌生的电路板时,可以试试三板斧,拿到任何硬件只需做好3步:
-
拆模块:将产品拆解为电源、LED、MCU、传感器、驱动、接口等基础模块。
-
套模板:每个模块直接套用上面的固定测试项。
-
推缺陷:每个测试项FAIL,就对应一个潜在的缺陷,同时关联现象与失效机理,快速锁定排查方向。
2.2 通用测试环境与工具链
测试项的落地离不开工具支撑,以下是各模块测试常用工具,标注在对应测试项旁,可操作性更强:
-
基础工具:万用表(测电压、电阻、通断)、示波器(测纹波、频率、波形)
-
专项工具:电子负载/功率电阻(测带载能力)、频率计(测时钟)、串口助手/网络测试仪(测接口通信)
-
辅助工具:接地弹簧(示波器测纹波防干扰)、热风枪/电烙铁(排查焊接问题)
2.3 电源模块(如AMS1117 LDO)
必测项(固定不变)(附推荐工具)
-
输入电压测试(万用表)
-
输出电压精度(万用表)
-
输出纹波 & 噪声(示波器,20MHz带宽限制,接地弹簧)
-
带载能力(轻载/满载/过载)(电子负载或功率电阻)
-
线性调整率(万用表)
-
负载调整率(万用表+电子负载)
-
开关机冲击/浪涌(示波器)
-
短路保护(万用表+电子负载)
-
过温/发热(红外测温仪或手感排查)
-
长期稳定性(万用表+长时间通电)
-
掉电/上电时序(示波器)
必想缺陷(固定不变)
-
无输出、输出偏低/偏高
-
纹波大、自激振荡
-
带载掉压
-
发热严重
-
浪涌/ESD 损坏
-
滤波电容漏焊
-
虚焊、引脚接反
2.4 LED 指示灯模块
必测项(附推荐工具)
-
上电是否正常点亮(目视+万用表)
-
亮度是否正常(目视)
-
是否闪烁/微亮(目视+示波器,排查纹波)
-
限流电阻是否匹配(万用表测电阻值)
-
正负极是否正确(万用表通断档)
-
高低温亮度变化(高低温环境+目视)
-
长时间工作是否发烫(手感+红外测温仪)
-
电源波动时是否异常(可调电源+目视)
必想缺陷
-
不亮、常灭
-
亮度不够/过亮
-
闪烁(电源不稳、纹波大、连接线阻抗过大)
-
限流电阻错误
-
LED 击穿/开路
-
虚焊
2.5 MCU / 最小系统模块
必测项(附推荐工具)
-
电源电压(万用表)
-
时钟起振(示波器/频率计)
-
复位功能(万用表+手动触发复位)
-
下载/调试口(下载器+电脑)
-
GPIO 高低电平(万用表)
-
运行稳定性(长时间通电+功能验证)
-
低功耗电流(万用表,小电流档)
-
掉电保持(断电后复测关键状态)
必想缺陷
-
不起振、不运行
-
电源不稳导致死机
-
复位异常
-
下载失败
-
GPIO 无输出
2.6 传感器模块(温湿度、红外、光敏等)
必测项(附推荐工具)
-
供电(万用表)
-
通信(I2C/SPI/串口)(示波器+串口助手)
-
初始值(电脑读取数据)
-
灵敏度/响应速度(触发信号+数据读取)
-
精度(对比标准值)
-
温漂(高低温环境+数据读取)
-
干扰抗性(靠近干扰源测试)
必想缺陷
-
无数据、数据乱跳(接触不良、电源抖动、干扰)
-
精度差
-
温漂大
-
通信失败
2.7 继电器 / 功率驱动模块
必测项(附推荐工具)
-
驱动电压(万用表)
-
吸合/断开是否正常(目视+万用表通断档)
-
触点导通(万用表通断档)
-
吸合电流(万用表)
-
发热(红外测温仪)
-
长时间可靠性(长时间通电测试)
必想缺陷
-
不吸合、吸合不住
-
触点烧蚀
-
驱动不足
-
发热严重
2.8 接口模块(USB / UART / CAN / 网口)
必测项(附推荐工具)
-
供电(万用表)
-
通信通断(对应接口测试工具/电脑)
-
速率(串口助手/网络测试仪)
-
误码率(串口助手/网络测试仪)
-
热插拔(反复插拔测试)
-
抗干扰(靠近干扰源测试)
必想缺陷
-
连不上、掉线(接触不良、干扰)
-
数据错误
-
插拔损坏
2.9 按键 / 输入模块
必测项(附推荐工具)
-
按键响应(目视+万用表)
-
防抖(反复按压测试)
-
长按/短按(不同按压时长测试)
-
误触发(无操作时观察状态)
必想缺陷
-
无响应、误触发
-
按键卡死
2.10 上电必做的通用测试与安全检查
-
外观/焊接检查(目视,排查虚焊、漏焊、错焊)
-
电源对地短路测试(万用表通断档,避免上电烧板)
-
静态电流(万用表,排查异常功耗)
-
首次上电功能(逐步上电,观察核心模块状态)
-
高低温运行(模拟极端环境,验证稳定性)
-
长时间老化(长时间通电,排查潜在缺陷)
-
ESD/浪涌(可靠性测试,避免后期失效)
2.11 常见故障现象与根因映射表
结合开篇案例,补充常见现象与根因的关联,方便快速排查,固化“联现象→猜机理”的思维:
-
现象:LED微闪 → 根因:纹波大、电源功率不足、连接线阻抗过大
-
现象:芯片发烫 → 根因:短路、负载过大、引脚焊错、芯片本身损坏
-
现象:通信偶尔断开 → 根因:接触不良、电源抖动、干扰、看门狗复位
-
现象:输出电压偏低 → 根因:带载过大、滤波电容不足、输入电压异常
-
现象:下载失败 → 根因:下载口虚焊、时钟异常、复位功能故障
三、测试的核心:缺陷生命周期管理
我在百度、B站、CSDN等平台搜索相关资料时,发现大部分内容都是关于软件测试的,硬件测试的信息零散且不系统。我将搜集到的信息统一整理如下(可能也不全,但应相对有用):
3.1 缺陷的定义
对于测试而言,测试通过标记为PASS,未通过(功能、性能等方面存在问题)标记为FAIL。这些FAIL项就独立成为了缺陷。一个FAIL对应一个缺陷,每个缺陷都需要一份完整的缺陷报告来管理,同时可增加“改进建议”栏,从修bug升级到优化设计。
3.2 浴盆曲线与测试的意义
浴盆曲线是描述器件或产品失效率随时间变化的经典模型,分为三个阶段。而研发测试的核心目的,就是通过施加应力(高温、高压等),快速熬过早期失效期,把产品“推”入低失效率的偶然失效期再交付给客户,降低售后风险:
-
早期失效期(婴儿期):对应研发期、样品期。此阶段会出现各种失效问题,如虚焊、电路设计缺陷等。失效率最高,但衰减也很快,通过测试和筛选可以快速排除大部分问题。
-
偶然失效期(青年/中年期):对应产品投入使用后的稳定期。失效率低且平稳,问题多为偶然发生,如过压、浪涌、负载突变等外部因素导致。
-
耗损失效期(老年期):对应产品使用多年后的老化期。随着器件老化(如AMS1117性能漂移、电解电容干涸),失效率再次上升。
3.3 缺陷管理闭环流程(工程管理视角)
这是一个从发现缺陷到彻底解决的闭环流程,适用于研发、生产、售后全阶段:
-
缺陷发现 / 新建:测试或用户发现异常(如LED不亮、AMS1117发烫),记录现象、复现条件和环境。
-
缺陷分析 / 确认:定位根因(是AMS1117损坏、焊接问题,还是外围电路问题),结合映射表快速排查。
-
缺陷修复 / 开发:修改设计、更换器件或调整工艺(如加滤波电容、换合格AMS1117),可同步提出设计优化建议(如预留电容位置,方便后续改版)。
-
回归测试 / 验证:验证修复效果,确保缺陷消除且无新问题引入,使用对应测试工具量化验证结果。
-
缺陷关闭 / 归档:确认问题解决,将记录归档到缺陷库,用于经验沉淀,完善故障映射表。
-
(可选)缺陷重开:若验证不通过或缺陷复发,则流程回到分析/修复阶段。
四、实战案例库(缺陷报告模板与案例)
4.1 缺陷报告标准模板
|
字段名 |
内容示例 |
|---|---|
|
缺陷ID |
AMS-LED-001 |
|
缺陷标题 |
AMS1117-3.3V 输出电压异常,LED 不亮 |
|
发现阶段 |
☑ 早期失效期(研发/试产) □ 偶然失效期 □ 耗损失效期 |
|
复现步骤 |
1. 给模块输入5V电源;2. 用万用表测量AMS1117输出电压;3. 观察LED状态 |
|
实际结果 |
输出电压仅1.2V,LED不亮,芯片轻微发热(红外测温仪测得约55℃) |
|
预期结果 |
输出稳定3.3V(误差±0.1V),LED正常点亮,芯片温度<60℃ |
|
根因分析(RCA) |
原理图遗漏AMS1117输出滤波电容,芯片自激导致输出异常 |
|
改进建议(可选) |
在PCB上预留输出滤波电容备用位置,方便后续改版优化,减少返工成本 |
|
严重等级 |
☑ 致命(无法工作) □ 严重 □ 一般 □ 提示 |
|
修复措施 |
输出端增加10μF电解电容 + 0.1μF陶瓷电容,靠近芯片引脚布局 |
|
回归结果 |
输出稳定3.32V,LED正常点亮,示波器测得纹波<20mVpp,缺陷已解决 |
|
当前状态 |
☑ 已关闭 □ 打开 □ 修复中 |
4.2 案例二:AMS1117输出异常(LED不亮/微闪)
结合开篇困惑,补充LED微闪场景的缺陷报告,完善案例库:
|
字段名 |
内容示例 |
|---|---|
|
缺陷ID |
AMS-LED-002 |
|
缺陷标题 |
AMS1117-3.3V输出纹波超标,LED微闪(负载越大越明显) |
|
发现阶段 |
☑ 早期失效期(研发/试产) □ 偶然失效期 □ 耗损失效期 |
|
复现步骤 |
1. 给模块输入5V电源;2. 空载观察LED状态;3. 逐步增加负载至300mA,观察LED;4. 用示波器测量输出纹波 |
|
实际结果 |
空载时LED轻微闪烁,负载300mA时频闪明显;示波器测得纹波峰峰值约150mV,远超datasheet要求的20mV以内 |
|
预期结果 |
空载/满载时LED均稳定点亮,无闪烁;输出纹波≤20mVpp |
|
根因分析(RCA) |
1. 输出端仅使用0.01μF陶瓷电容,容值不足,滤波不彻底;2. 输入端未加EMI抑制元件,工频纹波和开关噪声传导至输出端 |
|
改进建议(可选) |
输入端预留磁珠和电容位置,输出端按datasheet标准布局电容,提升抗干扰能力和滤波效果 |
|
严重等级 |
☑ 严重(功能异常) □ 致命 □ 一般 □ 提示 |
|
修复措施 |
1. 输出端增加10μF电解电容+0.1μF陶瓷电容;2. 输入端串10μH磁珠,并联47μF电解电容+0.1μF陶瓷电容 |
|
回归结果 |
空载/满载时LED均稳定发光,无闪烁;示波器测得纹波峰峰值<20mV,符合设计要求 |
|
当前状态 |
☑ 已关闭 □ 打开 □ 修复中 |
五、总结:
测试时,发现FAIL,形成一个缺陷问题 → 结合故障映射表分析根因 → 进行缺陷流程管理(含优化建议) → 编写标准化缺陷报告 → 回归测试 → 归档沉淀,完善模板和案例库。
最后,本文为个人硬件测试学习总结及实战沉淀,若有前辈、同行提出宝贵指导意见,不胜感激;后续将持续补充案例,完善硬件测试知识体系,供大家交流参考。
更多推荐



所有评论(0)