(1) 测试任务管理层
每一个测试项目都分为若干个测试单元,每个测试单元由多个测试模块组成,一个测试模块由多个元器件组成,对测试单元、测试模块、元器件分别添加测试任务就能完成不同规模、不同层次的测试。在管理层就是完成测试项目流程库的构建,是自动测试的前提。
(2) 仪器管理层
该层作为中间层,主要实现向上提供统一的调用接口,对下层的仪器模块实现管理。另外,该层还完成脚本的管理、编辑,在该层实现测试任务脚本的生成。
(3) 仪器模块层
该层由具体的仪器模块组成,一个仪器模块外部由仪器软面板构成,内部主要包含针对该仪器的三个功能模块:直接运行、脚本生成、脚本解释器。脚本解释器功能模块供脚本执行层调用,它是测试任务管理层实现自动测试的基础。脚本生成功能模块主要提供给仪器管理层完成测试任务脚本的生成。
(4) 脚本执行层
该层作为仪器管理层的脚本管理功能的具体实现,供测试任务管理层在测试任务执行时调用,主要完成根据不同的脚本语句第一个标识符(逻辑设备名或其他脚本控制标识),将测试任务的脚本分发给不同仪器的解释器解释执行。
四层功能既相互独立,又相互依存。面向应用的测试任务自动生成与运行方法以整个软件框架为依托,是整个测试系统的核心思想。
2 脚本规范设计
为了保证脚本的统一解释运行,使得测试运行时具有良好的交互性,通过借鉴成熟的软件自动测试中的关键字驱动脚本技术[3],并且利用IVI中通用驱动函数库,定义了一套脚本规范,包括仪器操作脚本集、运行提示脚本集、脚本注释集、脚本延时运行集、并行脚本。
(1) 仪器操作脚本集中语句语法格式定义为:
DevName,OPERAT,(Para 1,...,Para n),(RetPara), RetType;
其中:DevName为逻辑设备名,例如,“AFA”(音频分析仪),“DMM”(数字万用表);OPERAT为仪器操作定义,例如,“CONFIG”(配置),“OPEN”(打开),“CLOSE”(关闭);Para n为仪器参数,例如,输出信号的频率、幅值,输入信号的采样频率、采样点数等,其顺序关系确定后就被固定下来;RetPara为返回参数,指定该次测试需要返回的测量值;RetType为返回类型,将测量值按照指定的数据格式进行转换。
(2) 运行提示脚本集定义如下:
MSG,STRING,这是操作提示,NORET; MSG,END,NORET;
(3) 脚本注释集:
COMMENT,这是脚本注释;
(4) 脚本延时运行集:
DELAY,延时值(双精度数值);
(5) 并行脚本集:
SUBSCRIPT_BEGIN,并行脚本标识;
SUBSCRIPT_END,并行脚本标识;
SUBSCRIPT_START,并行脚本标识。