半实物仿真测试系统主要用于武器装备研发阶段、测试试验阶段对被测系统UUT开展全面的功能、性能、接口、安全性等测试工作,确保系统实现了其声明的需求,为实现这一目标,HIL系统必须具有以下一些基本能力:
(1)UUT运行环境的描述能力
HIL系统必须对UUT的运行环境进行描述,包括与UUT相连的外部设备及其特性、与外部设备交互的信号或总线数据协议。
(2)仿真平台资源的管理与描述能力
HIL系统的硬件主要包括硬件板卡、主控计算机、仿真计算机,HIL系统需要对平台中的这些资源进行管理和描述,才能确保运行于其上的测试套TS能通过硬件平台与UUT发生交互。
(3)仿真程序的开发能力
HIL系统对UUT测试时,并不单是信号的激励产生和信号的测量,还需要对与UUT相连的外围系统的特性进行仿真,才能确保在尽力能逼真的场景下模拟仿真UUT的运行环境。面向具体UUT应用的HIL系统,仿真模型可以开发完成后做为HIL的一部分,但通用的HIL系统(简称GHIL)则需要平台提供仿真模型的开发能力。
(4)测试用例与测试套的开发能力
HIL系统构建完整的UUT系统运行的仿真环境并不是目的,对UUT进行测试验证,发现UUT中存在的缺陷才是HIL系统所需要的。因此要求GHIL平台提供测试用例和测试套的开发能力。
除上述4项基本能力外,为确保GHIL系统的易用性,还需要GHIL能实现可视化仿真测试监控窗体设计运行、测试数据管理、测试结果报告与展示等功能。
ETest Studio是一款自动测试系统集成开发环境,主要为自动测试系统(Automatic Test System,ATS)的开发提供一套完整的开发平台,ATS厂商完全可以利用ETest Studio开发出面向不同UUT的自动化测试工装,开发效率和开发质量都非常高,大幅缩短企业ATS产品的研发与生产周期,降低ATS产品成本,提高唯快不破的企业市场竞争力。
ETest Studio也可以为工业领域的装备研制制造企业、第三方测试认证机构提供快速测试环境的搭建与开发支撑。
ETest Studio主要由测试需求分析与由测试分析与描述层(Test Design,TD)、测试资源描述与分配层(Test Resource Assign,TR)、测试执行驱动层(Test Execute Engine,TE)、测试硬件推荐层(Test Hardware,TH)四层组成。其中TD、TR、TE为ETest Studio的构成部分,TH为ETest Studio的硬件推荐部分,由于ETest Studio更强调通用性、开放性,可适合于各种硬件架构。
图1 ETest Studio的系统架构
TD层包含了UUT描述、测试描述、测试监控描述、测试结果描述,形成了只与测试需求有关的描述信息,无论采用何种测试平台与测试仪器,TD部分都保证了其可移植性。UUT描述中将UUT交联环境、UUT信号与协议需求、UUT端口参数进一步模块化,为实现信号标准库和协议模板库的奠定基础。测试描述除了用测试脚本描述和测试脚本调度来实现测试程序外,还用仿真模型描述构建外围系统特性的仿真程序,业务流程描述和参数组合设计则作为测试用例设计的工具,更是具有相对的独立性。测试监控描述与测试结果描述同样只依赖于UUT描述和测试描述。
TR层包含了测试平台描述和测试资源分配两部分。测试平台描述对测试仪器、测试仿真机、测试适配器进行描述,这部分构成了测试平台的组成部分。测试资源分配则将TD层的测试需求与测试平台描述进行了映射,将测试需求映射分配到测试平台中测试资源,分配可人工进行也可自动进行,分配完成后测试平台与UUT的连线图可自动生成,指导测试平台如何完成与UUT的连线。
TE层包括了测试执行的引擎和测试仪器的硬件驱动,将测试仪器驱动从ETest Studio独立出去,是为了保持ETest Studio的相对完整性。在测试执行引擎中,有脚本解释执行的引擎、测试信号的路由、IVI虚拟仪器驱动、IVI虚拟仪器驱动到物理设备驱动的映射表IVI-DEV。测试信号路由将TD层所需的测试信号和协议报文通过资源分配映射到对IVI虚拟仪器驱动API的调用上,然后再通过IVI-DEV到达测试仪器驱动上。
TH层是ETest Studio推荐的硬件系统,通常包含了测试设备、开关系统、连接器、适配器和被测系统UUT。TH层与ETest Studio之间通过测试设备驱动实现耦合,当所采用的硬件系统不同时,只要修改IVI-DEV部分,就可以完成软硬件的集成,有效促进了ETest不同产品形态的生成。
ETest Studio兼顾了仿真系统和自动测试系统两方面的需求,可以利用硬件集成加基于ETest Studio的开发的方式,搭建出由单机到多机不同的分布式仿真测试环境。
图2 ETest 单机部署模式
图3 ETest 分布式部署模式
系统的使用流程分测试设计阶段和测试执行阶段两部分。平台提供了交联环境描述、信号与协议定义、测试环境规划、测试监控窗体设计、测试流程开发、测试数据设计等的设计工作环境,可以实现对交联环境、通讯协议、测试环境、测试脚本、测试数据、测试监控的可视化管理。测试设计阶段的工作流程如下图4所示。
图4 测试设计过程
完成一个待测系统的测试设计过程,需要通过以下流程实现:
(1)设计交联环境,实现对待测系统外部交联环境模型和通信协议格式的设定;
(2)设计设备规划和PC规划,实现对仿真硬件设备和仿真测试计算机的管理;
(3)设计测试调度脚本,实现对测试过程中测试逻辑和时序的控制管理;
(4)设计测试监控,实现对测试过程的可视化监控;
(5)形成测试设计方案。
测试执行阶段的使用流程如下图5所示。
图5 测试执行过程
完成一个测试执行过程,需要经过以下步骤:
(1)获取测试设计方案;
(2)运行测试脚本,执行测试;
(3)使用实时监控窗体监控数据;
(4)测试过程结束,测试数据保存到历史数据库中;
(5)进行历史数据查看分析;
(6)生成测试报告。