罗刚,罗小平
(中国电子科技集团公司第二十九研究所,四川成都,610000)
为保证产品质量,提升产品合格率,对其性能、功能进行充分测试是非常有必要的,而测试项目多、杂、繁几乎是每个产品都具备的特性,测试过程对人员、仪器、环境的需求都比较高。普通的手动测试,由于操作力度过大,不但测量效率低下,且测量结果过分依赖于测试人员的熟练度,在测量前就必须先对设备进行大量的按键动作,仪器按钮经重复多次按压易造成按键不灵敏甚至失灵,人员长时间操作、监测容易产生疲劳,效率低下,累计测试耗时长,人员培训成本、仪器保养、更换成本比较高,已不能满足日趋繁重地生产日常需求。
各种自动测试系统应运而生,其中基于CSCI的自动测试系统,具备良好的通用性和扩展性、良好的人机交互用户界面等优点,大大减少了系统运行复杂度,被广泛应用到各个领域。
CSCI(Computer Software Configuration Item), 计算机软件配置项,在设计时可选用多种常规编程语言,如C、C++、C#等均可,自动测试软件在Windows系统上,应用CSCI设计ini类型文件对各项指标参数分别加载测试模块,利用仪器驱动实现对各类仪器的程控、参数下发、参数回读,测试结果实时显示、分析、判断、记录。利用UI界面将测试过程、测试结果呈现给用户,同时在记录测试过程中上报原始数据,可实时观测或导出供用户分析和查看。
自动测试系统设计应明确的基本要素包含使用范围、引用文档信息、CSCI级设计决策、CSCI体系结构设计、CSCI详细设计说明、需求的可追溯性等。以下描述其开发与设计方法。
系统设计原理是通过灵活配置测试环境参数的CSCI设计,实现对各项指标参数的阈值判别,软件自动计算,可进行执行消息显示、测试结果输出、保存等,实现测试自动化、智能化。输入/输出数据流图如下图所示。
图1 输入/输出数据流图
CSCI输入/输出设计决策信息表如下:
表1 输入/输出设计决策信息表
CSCI的行为决策见下表:
表2 CSCI行为决策表
CSCI数据文件设计决策时间下表:
表3 CSCI数据文件设计决策表
CSCI安全性设计决策见下表:
表4 CSCI安全性设计决策表
CSCI灵活性设计决策见下表:
表5 CSCI灵活性设计决策表
CSCI通用性设计决策见下表:
表6 CSCI通用性设计决策表
当然,还有其他决策,如操作系统是选用win7还是win10,通讯协议是GPIB、USB还是TCP/IP、开发工具是C还是C#等。
基本的系统至少包含端口接口、仪器接口、功能函数以及指标测试模块,各单元组成示例如图2所示。
图2 CSCI 单元组成示例
各单元说明见表7:
表7 CSCI 单元说明
示例中的系统执行方案为:测试软件打开后,对串口参数进行设置并打开串口,等待检测产品数据上报,同时对测试参数进行设置,用户可选择待测的指标项目,选择后根据配置表自动设置指标测试参数,设置完成后即可开始指标测试。测试过程中测试结果将实时显示,测试完成将结果保存。系统执行流程如图3所示。
图3 执行流程图
系统运行后进入主界面,面板上有功能按钮栏,实时数据文本显示区,参数设置区、测试指标选择区、指标测试区等部分,设计时需按照软件功能将各功能详细设计说明。下面举例说明。
1.3.1 系统接口关系
CSCI接口关系如图4所示。
图4 CSCI 接口关系
测试系统接口为人机交互接口,包含用户在测试软件中配置测试环境参数以及控制自动测试模块的各人机交互窗体。接口标识和接口表如表8。
表8 人机交互接口表
1.3.2 灵敏度测试
灵敏度测试流程如图5所示 。
图5 灵敏度测试流程
根据灵敏度测试的原理和计算公式(本文不再累述),测试完所有通道的灵敏度,显示测试结果并保存在文件中。
1.3.3 异常处理
系统中可以增加用户友好界面设计,在各个环节若出错或有重要提示,将弹出提示窗口,基本流程如下。
1.3.4 系统界面
根据各个功能模块的流程,对自动测试系统进行软件界面设计,基本元素应包含菜单功能区、信息栏、指标栏、显示栏等,根据项目特点进行优化设计。下图为基于C#的应用示例。
图6 异常处理流程
图7 自动测试系统软件界面示例
图8 CAN自检功能模块示例
软件界面应包含各个功能区,各功能模板合理布局,步进式操作最符合人的操作习惯,比如先选择端口,再选择仪器,填写必要信息,开始测量等。系统运行也可设置成一键启动,根据设定规则,按照流程后台自动运行,实时显示过程数据,根据需要对数据进行实时分析、处理、存储等操作,大量减少人工手动操作,解放人力,使测试过程标准化。
本文研究了基于CSCI的自动测试系统开发与设计过程,描述了重要要素的基本设计方法。这种方式设计出的自动测试系统有以下几个优点:兼容性强,适用各种编程环境;灵活利用合适的驱动便于实现各类硬件接口的调整,可用于不同种类仪器;具有数据快速处理的优势,及时满足设计者、使用者使用和分析数据的需求;自动化特性能最大化释放人力资源;简洁清晰的可视化界面给使用者不一样的体验。