说起测试,很多人就会想到测试程序,甚至会认为测试开发就是测试程序开发。当然测试不仅仅是测试程序,测试是一个系统工程,涉及很多方面,包括硬件、软件、设备、电路、产品、工程、生产、数据分析、成本控制、品质管理等等诸多方面。 测试程序作为软件开发的一部分,将诸多因素包含进来,进行有效控制,针对产品性能需求进行开发,控制软硬件及测试电路,控制设备,满足验证、工程及生产要求,利用数据统计分析方法进行管控,用最高效的效率,最低的测试成本,达成对产品的验证、测试及品质管控。 与其认为测试程序是软件,不如认为测试程序本身就是一个全面的控制系统。 从产品定义开始,就需要考虑测试成本及可测性。从产品设计开始,一直到产品验证及生产,包括后期产品品质管控及异常处理,测试都扮演着重要的角色。 因为测试程序要满足诸多要求,所以,对于测试程序的处理和控制是非常重要的。下面我来谈一下比较重要的几个方面。 数据手册(datasheet)是半导体产品的重要指标及品质保证手册,而完整的测试程序,需要对数据手册上的所有参数及规范进行测试(test coverage),包括各种测试条件、工作电压及温度。当然,测试本身存在一定的局限性,有些参数只能通过应用验证来保证,同时,受测试条件及成本限 制,我们也不可能在测试的时候包含所有测试条件及温度。所以,我们需要在产品验证阶段完成这方面的工作。所以,测试程序不仅仅用于常规的量产测试,产品开 发及验证阶段的验证测试,更为重要,并且,验证阶段的数据也需要加入测试程序。实际上,量产测试程序,是基于验证测试后得到的成本最低却又能保证测试品质 的精华所在。 测试程序本身,是利用程序控制测试设备,进而控制测试电路完成测试,这其中包含了所有参数的测试电路,包含了各种大小的电压、电流等测试,也包含了 时间参数、数据采样等等各类测试,或其它功能测试。我们需要利用有限的测试资源,在满足测试需求的基本要求下,提高同测数,持续提高测试可靠性及效率。 制定测试方案的时候,我们要保证其有效性、准确性和效率,要确定测试方案是否可以满足所有测试要求?是否有更高效的测试方案?测试条件是否正确?如何降低测试电路及设备要求?如何降低测试成本? 程序程序开发及调试过程中,要进一步确保并验证测试方案的准确性及有效性,确保所有的测试条件及输出测试是否真实有效。如何检验?这还需要其它仪器过设备的确认验证。 测试硬件或测试设备的误差,需要通过数据收集后,利用数据统计手段计算测试误差(GR&R),并将误差用于程序规范控制(test guardband)。 测试性能是否和产品应用一致?这需要做好对比验证(correlation)工作,如果存在误差,需要收集一定量数据,利用数据统计方法进行误差控制,同样这些误差需要加入到测试程序中。 测试参数的测试验证,需要根据数据手册进行所有工作电压和条件,以及所有工作温度进行验证测试,取得参数的关键温度特性数据(temp guardband),并加入测试程序规范进行控制。 测试程序可以进行正常测试的前提,是测试设备及测试电路本身的稳定性与可靠性。测试设备一般依靠设备的定期诊断和检验来保证,测试电路本身,则需要 测试程序来进行检验,也就是常说的board check。进行正常测试前,或者出现异常时,需要对测试板进行检测,如果异常则不能继续测试,并对之前已测产品进行风险评估,必要的时候,需要召回重 测,甚至报废。 在调试测试程序的时候,除了考虑正常测试的情况,还需要考虑测试异常的情况,当出现测试异常的时候,如何发现避免漏测,如何做出有效措施防止异常损 害测试硬件或产品。必要的程序控制保护措施,以及测试硬件的电路保护,都需要想周全。特别是针对一些大电压或者大电流的情况,尤其要注意。同样,制作测试 板的时候,不仅仅是考虑正常测试条件,还需要考虑一些极限工作以及有可能出现的异常情况,确保元器件不会因为这些情况而损坏。 测试程序调试中,要做好测试资源的控制和保护,防止过压或过流情况下打坏产品或者损坏测试电路甚至测试设备。通常数据手册上都有对应管脚的极限工作 电压(absolute voltage),我们需要借助示波器检测每个管脚的电压情况,防止过压。这被称之为spike check。 测试程序正式量产之前,需要对试样产品测试进行优化处理,确保测试稳定性与可靠性,同时,也要满足实际生产调试的实用性,尽量做到简单有效,避免复 杂甚至繁复的操作流程,以降低可能出现的测试异常风险。一旦出现测试异常,测试程序本身也可以具备一定的报警功能。同样,必要的防呆措施,也要做好。 正式量产以后,测试程序的优化工作同样重要,需要不断优化,提高测试稳定性,提高测试效率,降低测试成本。一旦发现异常,一定要在第一时间处理,不要试图掩盖任何错误,越早发现,越早处理,才可能将损失降低到最少。 测试程序的开发、使用及优化,是一个持之以恒的过程,永远没有最好,只有更好!不断的优化,不断的降低风险,减少异常,有效且高效,是需要我们坚持的。 大家可以看一下,自己的测试程序,关注了哪些方面?如果有更多更好的内容,欢迎大家一起参与讨论。 快乐分享,分享快乐! |