4. 测试程序开发基础
在Keysight量产测试平台上,一个可执行的测试程序并不是“把若干测量函数串起来”那么简单。它本质上是一份可被测试执行引擎解释的测试计划模型:测试项定义“测什么”,测试流程定义“按什么顺序测、什么条件下跳转”,测试条件定义“在什么激励与量程下测”,Limit Line定义“测出来的值算合格还是不合格”。这四者共同构成测试程序的骨架,任何一处建模不当,都会在量产阶段表现为误判、漏测或测试时间失控。
一、测试计划:从器件规格到可执行结构
测试计划是测试程序的顶层容器,它把器件数据手册中的规格条目映射为可执行的测试项集合。在Keysight测试开发环境中,通常以测试计划文件(如基于XML或平台专有格式的计划描述)承载,其核心字段包括:计划名称、适用器件型号、测试项列表、全局变量、流程入口以及资源绑定信息。建模时建议遵循“一个规格条目对应至少一个测试项”的原则,例如某LDO器件的输出电压规格为3.3V±2%,就应建立独立的Vout测试项,而不是把它塞进综合功能测试里。
测试计划还需要声明全局变量,例如供电电压VDD、环境温度、采样次数等。这些变量在后续测试项中以引用方式使用,便于批量修改。例如定义VDD_NOM = 3.3,当需要验证低压工况时只需把该变量改为3.0,所有引用它的测试项自动生效。
二、测试项:测量动作的最小单元
测试项是测试计划中可独立执行、可独立判定、可独立记录结果的最小单元。一个完整的测试项建模应包含:测试项名称、测量方法(如直流电压测量、频谱扫描、数字向量捕获)、激励设置、测量通道/引脚映射、采样参数、Limit Line引用以及结果记录字段。
以Keysight平台常见的直流参数测试为例,一个Vout测试项可建模为:在VDD=3.3V、负载电流IL=10mA条件下,通过DMM或SMU测量输出引脚电压,采样5次取平均,结果写入Vout_meas字段。测试项本身不负责“什么时候测”,那是流程的职责;它只负责“怎么测、测完怎么判”。
Vout_3V3_10mA,便于在数据闭环中按名称聚合良率与趋势。三、测试流程:顺序、分支与循环
测试流程决定测试项的执行顺序与跳转逻辑。量产测试中常见的流程结构包括:顺序执行、条件分支(如根据前一项结果决定是否继续)、循环(如多温度点扫描)以及子流程调用。在Keysight测试程序中,流程通常以流程图或状态机形式描述,每个节点绑定一个测试项或一个控制动作。
建模时需注意:流程节点应尽量保持“单一职责”,不要把多个测量动作塞进一个节点。例如温度扫描应建模为循环节点,循环体内调用同一组测试项,循环变量为温度设定值。这样在数据闭环中,每个温度点的结果都能独立追溯。
四、测试条件与Limit Line:参数化与判定边界
测试条件是测试项执行时的具体参数集合,包括激励值、量程、采样率、滤波设置、等待时间等。在Keysight平台中,测试条件通常以参数表或变量引用的方式建模,支持在流程运行时动态覆盖。例如同一个Vout测试项,在常温下使用VDD=3.3V,在低压工况下使用VDD=3.0V,只需在流程节点中传入不同的条件集。
Limit Line是判定测试结果是否合格的边界。它可以是单边限(如漏电流IL < 1μA)、双边限(如Vout在3.234V~3.366V之间)或更复杂的多段限。建模时建议把Limit Line与测试项分离,作为独立的判定规则对象,便于复用和版本管理。例如定义Limit_Vout_3V3,包含下限3.234V、上限3.366V、单位V,然后在多个测试项中引用它。
五、建模实践:从规格到可执行程序的完整链路
下面以一个LDO稳压器为例,说明从规格到可执行测试程序的建模过程。假设器件规格为:Vout=3.3V±2%(即3.234V~3.366V),静态电流Iq<50μA,负载调整率ΔVout/ΔIL<10mV(IL从1mA到50mA)。
第一步,建立测试计划LDO_3V3_Plan,声明全局变量VDD_NOM=3.3、TEMP_ROOM=25。第二步,定义三个测试项:Vout_3V3_10mA、Iq_3V3、LoadReg_3V3。第三步,为每个测试项绑定测试条件集:Vout测试使用VDD=3.3V、IL=10mA、采样5次;Iq测试使用VDD=3.3V、IL=0mA、等待10ms后测量;LoadReg测试使用VDD=3.3V、IL从1mA到50mA步进,记录Vout变化量。第四步,定义Limit Line对象:Limit_Vout(3.234V~3.366V)、Limit_Iq(0~50μA)、Limit_LoadReg(0~10mV)。第五步,在流程中按顺序调用三个测试项,并在LoadReg测试中嵌入循环节点。
测试计划: LDO_3V3_Plan
全局变量: VDD_NOM=3.3, TEMP_ROOM=25
测试项:
- Vout_3V3_10mA → 条件: VDD=3.3V, IL=10mA, N=5
Limit: 3.234V ~ 3.366V
- Iq_3V3 → 条件: VDD=3.3V, IL=0mA, Wait=10ms
Limit: 0 ~ 50μA
- LoadReg_3V3 → 条件: VDD=3.3V, IL=1mA→50mA步进
Limit: 0 ~ 10mV
流程:
Step1: 调用 Vout_3V3_10mA
Step2: 调用 Iq_3V3
Step3: 循环 IL=1mA,10mA,25mA,50mA
调用 LoadReg_3V3
Step4: 汇总结果,写入数据记录
执行该程序后,每个测试项会输出测量值、判定结果和条件快照。若Vout测量值为3.29V,则判定PASS;若Iq测量值为62μA,则判定FAIL,并记录实际值供后续分析。数据闭环系统会按测试项名称、条件集和Limit版本聚合这些结果,形成良率趋势和失效分布。
六、可执行程序的验证要点
完成建模后,在Keysight平台上执行程序前,应检查以下要点:测试计划中所有测试项是否都有对应的Limit Line;流程节点是否覆盖了所有测试项;测试条件中的变量是否已赋值;资源绑定(如SMU通道、DMM地址)是否与实际硬件一致。建议先用已知良品和已知不良品各一只进行验证,确认PASS/FAIL判定与预期一致,再投入量产。
测试程序的可执行性最终体现在:给定一个器件,程序能自动完成激励、测量、判定和记录,且结果可追溯、可复现。测试计划、测试项、测试流程、测试条件与Limit Line的分离建模,正是实现这一目标的基础方法。