PCBA 功能测试程序:通过/失败判据由谁写、写到什么程度

一、「FCT PASS」到底说明了什么
功能测试(FCT)给组装好的板子上电,施加输入,检查输出是否落在限值内。在常见的 PCBA 组装流程里,它是唯一回答「板子能不能完成功能」的测试,其他检验回答的是元件在不在、焊点好不好。
所以随工单或测试记录上的「PASS」,含义取决于背后的程序。如果没人写下要跑哪些步骤、测哪些点、限值是多少,通过就只等于「操作员没看到异常」。两家装配厂对同一设计都报 FCT 100% 通过,跑的可能是两套不同的测试。
解决办法是一份受版本控制的书面功能测试程序,量产前由双方签核。
二、谁来写,谁来签
多数委托组装项目适用的分工:
| 内容 | 通常由谁编写 | 由谁签核 |
|---|---|---|
| 被测功能(板子必须做到什么) | 买方 / 设计方 | 买方 |
| 每项测量的限值 | 买方 / 设计方 | 买方 |
| 测试固件或测试镜像及版本 | 买方 | 买方 |
| 步骤顺序、接线、治具使用 | 装配厂测试工程师 | 双方 |
| 测试站软件与数据记录 | 装配厂 | 双方 |
| 失败处置与复测规则 | 双方商定 | 双方 |
「测什么」和限值归买方,因为只有设计方知道正确输出是什么。「怎么测」归装配厂,因为测试站是它的。程序文件就是两者对接的地方。治具由谁付费、归谁所有是另一项合同条款,见测试治具归属与费用分摊。
如果买方只写一句「请做 FCT」而不给限值,装配厂只能自己编。结果要么是一份附带大量假设的报价,要么是一项只检查上电、别的几乎不查的测试。
三、程序里缺了就让「PASS」失去意义的字段
程序可以很短,但下面这些一项都不能少:
- 文件控制:程序编号、版本,以及适用的板号和组装版本。用 B 版程序测 C 版板,是一种不会报警的失效。
- 被测板设置:各电源轨及上电顺序、电源限流、使用的连接器、跳线或开关位置、外接负载。
- 被测软件:固件或测试镜像的文件名、版本和校验值;由谁烧录;测试后是否改烧量产固件。
- 步骤表:每项检查一行,写明施加什么、在哪测、下限、上限、单位。模板见下一节。
- 仪器:每项测量使用的仪器类型,并要求在校准有效期内。写类型即可,除非某台仪器确有影响。
- 通过规则:所有步骤按顺序在同一次运行中全部通过,才算该板通过。要明写,否则「第二次才过」也会被记成通过。
- 失败处置:失败板怎么处理、允许复测几次、通知谁。见第六节。
- 记录:每块板记录什么、保存多久。
- 批准:买方与装配厂在该版本上签字并注明日期。
四、可直接套用的步骤表
下表限值均为占位符,真实数值由你的设计决定。
| 步骤 | 激励 / 动作 | 测量位置 | 下限 | 上限 | 单位 |
|---|---|---|---|---|---|
| 1 | 接入输入电源,设定限流 | 电源电流 | | | mA |
| 2 | — | 3V3 电源轨,TP-x | | | V |
| 3 | 烧录测试固件 <文件名, 版本> | 读回固件 ID | <期望 ID> | — | — |
| 4 | 经 UART / USB 发送命令 | 返回字符串 | <期望值> | — | — |
| 5 | 驱动输出通道 1 | 输出,TP-y | | | V |
| 6 | 按键 / 施加输入信号 | LED / GPIO 状态 | <期望状态> | — | — |
三条规则让这张表真正可用:每个测量值都要有上下限,或明确说明某一侧不设限;每个测试点的名称都要出现在装配图上;没有数值的判定步骤(LED 亮、字符串匹配)要写出确切的期望结果。
五、固件是测试的一部分
功能测试的争议,多数出在软件而不是硬件:板子用一个镜像测试通过,到现场换了另一个镜像就失效;或者装配厂烧了测试镜像就直接出货。
程序里要写明:
- 测试站烧录的每个镜像的文件名、版本和校验值。
- 出货前是否把测试镜像替换为量产固件,以及如何验证已替换。
- 买方发布新镜像时,程序版本随之升级,并列出用旧镜像测过的板。
固件变更按程序变更处理。如何把版本变更和重新放行挂钩,见首件检验报告与放行条款。
六、失败处置与复测规则
没有失败规则的程序,等于默许「测到过为止」。要写下:
- 复测上限:未经诊断允许复测几次。很多买方允许复测一次,以排除治具接触问题,之后必须诊断。
- 返修后复测:返修后的板要重跑完整程序,而不只是失败的那一步。
- 失败记录:每次失败都记录步骤号和实测值,即使该板后来通过。
- 升级通知:设定停线并通知买方的触发条件,例如同一批多块板在同一步骤失败。条件由你定,程序里写明。
- 处置决定:无法修复的板报废、退回还是让步接收,由谁决定。
诊断中发现的焊接和工艺缺陷,按焊点验收等级与缺陷处置中的规则处理,不归 FCT 程序管。
七、要求装配厂提供哪些记录
送货单上的「FCT 100% 通过」只是一句汇总。要索取可以核对的数据:
- 每块板的记录:序列号、程序版本、固件版本、日期、测试站编号、结果,以及每个数值步骤的实测值。
- 失败记录,包括复测后通过的板。
- 批次汇总:测试数量、一次通过数、复测数、失败数。
- 测试日测试站仪器的校准状态。
存有实测值,就能在板子开始失败之前看到数值向限值漂移。只有通过/失败标记看不出这一点。
八、询价时一起发出的测试资料
想让功能测试被正确报价,询价资料包应包含:
- 当前版本的功能测试程序,或至少填好功能与限值的草稿。
- 测试固件,或说明何时提供。
- 装配图上的测试点位置。
- 治具由你提供,还是由装配厂制作。
- 期望的记录格式与保存期限。
缺了这些,装配厂只能把功能测试当作假设项来报价。把程序和其他检验测试项一起放进检验与测试要求定义,再通过询价页面提交。
FAQ
委托组装时,功能测试程序应该由谁来写?
买方定义被测功能和限值,装配厂测试工程师为自己的测试站编写步骤。量产前双方在同一版本上签核。
我手上没有限值,能让装配厂来定吗?
装配厂可以用一块已知良品测出数据并提出建议限值,但必须由你批准。只取自一块样板的限值可能放过边缘设计,要用设计值复核。
上电测试和功能测试是一回事吗?
不是。上电测试只确认板子能启动、电流大致正常;功能测试按你列出的每项功能对照限值检查。要写明你买的是哪一种。
功能测试能替代 AOI 或 X-ray 吗?
不能。功能测试检查行为,AOI 与 X-ray 检查组装质量,能发现虚弱焊点这类仍能通过功能测试的缺陷。
哪些变更需要升级程序版本?
板或组装版本变化、新固件镜像、限值修改、新增测试步骤或更换治具。旧版本下测过的板应能从记录中识别出来。
需要实测值,还是只要通过/失败结果?
数值步骤要索取实测值。有了实测值,才能核查有争议的板,并发现批次间的漂移。