APP下载

基于柔性测试技术的PCBA功能测试优化

2020-02-25李永利

机电工程技术 2020年1期
关键词:测试程序开发人员电表

李永利

(中兴通讯股份有限公司,广东深圳 518057)

0 引言

由于市场需求的差异性,产品功能需求愈发多样化,传统的测试方法已无法满足产品的多样性需求。为了优化此问题,借鉴柔性测试技术,对产品的测试程序(工具)进行模块化改进,提升测试效率。

1 功能测试与传统测试方法

功能测试(FT:Function Test)是对测试目标板提供模拟的运行环境(激励或负载),使其工作处于各种设计状态,从而获得各个状态的参数来验证此目标板是否合格的方法。在电子产品的生产与制造过程中,在单板加工完成至整机组装前的环节之间,会设置FT,以确认单板加工的质量状况。

传统的测试方案,各个环节之间的联系均需人工参与,如图1所示。适用于大规模量产且型号单一的产品。

(1)当测试程序出现bug时,测试开发工程师需要对程序进行排查,并对其进行相应地修改。

(2)测试程序的传递,传统的传递方法是测试开发人员将测试程序调试完成后,将其保存在服务器或U盘中,供产线人员下载或使用U盘拷入测试上位机(测试电脑)中。此方法降低了测试程序发布的时效性,同时使用U盘拷贝方式,存在感染病毒的风险。

图1 传统测试框架

(3)当产品型号变更时,产品测试开发人员需要重复以上2个动作,增加了测试开发人员的工作负荷,同时也降低了开发效率[1]。

目前,在大多数企业中,仍采用传统的测试方案与方法。由图1可知,传统的测试方法是针对某一个具体的测试对象而开发相对应的测试程序。在测试对象变更时,将重新开发相应的测试工具。传统的测试方法具有以下不足:应用范围有限;程序更新繁琐,缺乏灵活性。

传统的测试方法适用于大批量、配置变化频率很低的场景。由于市场多样化、准时制生产(JIT)的需求,对产品测试程序快速开发提出了新要求。

2 柔性测试系统

柔性测试技术是以虚拟仪器技术、机电一体化技术、测试测量技术、通信及网络技术、软件技术等为基础,对满足测试测量系统需求的方法及手段进行深入研究的技术。可靠性、准确性、灵活性、适应性和可拓展性是柔性测试系统的研究目标,系统尤其注重测试测量系统功能的整体性[2-3]。柔性测试技术的特点如下:适应性;灵活性;扩展性[4]。

柔性测试系统是一种能够快速和准确响应测试需求变化而构建的自动测试系统,能够根据测试任务的需求和测试环境的变化,快速改变系统的组织模式、硬件与软件结构,以迅速调节测试功能来适应新任务和新环境的自动测试系统[5]。柔性化测试系统最重要的体现在于软件系统的功能实现上。测试人员只需根据测试需求,选择要进行的测试项目,跳过不必要的过程,或不将无需测试的项目添加在相应的测试程序中,提高了测试效率。柔性测试系统具有灵活性、可扩展性强等优点,而灵活性主要体现在测试程序的模块化[6-7]。类似于活字印刷术一样,只需将所需测试的项目添加到测试程序中,形成一个全新的测试程序。基于此思路,对现有测试工具进行整合管理,从系统的角度出发,对类似产品的测试程序进行模块化处理,完成测试程序的模块化。

3 测试程序模块化

3.1 测试程序优化思路

测试程序优化具体思路如下:在传统的测试过程中,如图1所示,PCBA含有多种功能或性能,故在测试程序中需包含相应的测试程序,执行不同的功能性能测试。根据模块化的思路,针对PCBA不同的功能性能指标,进行模块化分割。即在1个测试程序中,包含多个测试模块,每个测试模块的功能相互独立,互不影响。当测试需求变更时,不需要对全部测试程序变更,而只是针对某个测试模块进行重新设计即可,减少了工作量,也体现了柔性测试技术灵活性的特点。分割后的测试框架如图2所示。

图2 柔性测试系统框架

3.2 模块化测试程序应用

在某智能电表的单板生产测试中,针对PCBA的功能测试项目包含:(1)红外通讯;(2)DLMS测试(物理层、应用层、链路层);(3)485通讯;(4)光口通讯;(5)拉闸测试;(6)开盖告警;(7)电表规格比对;(8)软件校验码比对;(9)校表及校表后参数格式化;(10)PLC通讯测试;(11)时间检测;(12)继电器检测;(13)STS密钥;(14)读取寄存器故障;(15)时区写入等。

分布在不同国家、地区的客户结合实际需求,所需要电表的功能、性能规格也不相同。传统测试测试开发,开发工程师针对不同电表单板开发功能测试程序,并基于第一版本进行更新迭代。在测试程序的调试过程中,当测试程序出现某种bug时,程序开发人员将对测试程序的语句进行逐句排查。从程序的开发流程可知,此方法增加了测试开发工作量。同时,在程序迭代过程中,可能会出现误操作过程,致使测试程序迭代错误,降低开发效率。

针对此情况,基于模块化的方式对测试程序进行优化。将程序中的不同测试项目进行模块化设计,然后根据不同需求进行模块化组合,组合成适用于待测PCBA功能的测试程序,此过程类似于生活中的搭积木游戏。此方法不仅可以使测试开发人员和测试工程师快速定位产品问题,而且可以提高测试程序的开发效率。例如:STS密钥,此功能使用在预付费电表中,不是预付费电表无需进行此项测试。故测试人员只需将此模块添加或删除,就可很快地应用于不同机型的智能电表,做到测试程序的快速切换。

当测试开发人员或者测试配置人员根据待测产品(DUT:Device Under Tested)的特性,完成测试程序的配置,如图3所示,配置完成并点击保存,系统提示保存成功后,适用于特定配置产品的PCBA测试程序便完成。

图3 测试程序配置图

测试程序配置完成后,通过网络技术,生产现场可即时提取测试程序,并进行相应地调试或生产测试。在调试过程中,若某一项出现异常时,测试开发人员可根据调试日志,快速分析原因并进行测试模块的更新。

4 结束语

模块化测试程序导入后,测试开发工程师可更加专注于新增测试项目的程序开发工作,间接提升了测试开发工程的开发能力。同时,调试与生产测试过程中,实现了测试程序的快速更新,以适应产品配置的快速切换。

作为测试需求导向的客户化定制系统,柔性测试系统要根据用户的测试任务需求来匹配能够完成测试任务的最佳测试资源联盟集合,并在此基础上动态组建柔性测试系统[8]。柔性测试系统延伸了传统测试技术,本文所述测试系统的主要特征包括:(1)根据产品配置信息,选择相应的测试模块;(2)测试程序的传递更加安全、更具有时效性;(3)测试程序的模块化,提升了测试程序开发的效率,降低了维护成本;(4)便于测试程序的开发人员进行系统维护和不良定位。

猜你喜欢

测试程序开发人员电表
电表“对”与“错”归类巧掌握
Semtech发布LoRa Basics 以加速物联网应用
Cartoons
“蹦叭”跳动电表数
基于Castle型机械手的三温量产测试平台实现
手机APP交互界面人因适合性测试程序的设计与实现
电气自动化控制设备可靠性测试探讨
后悔了?教你隐藏开发人员选项
三星SMI扩展Java论坛 开发人员可用母语
如何测电表的量程