- 技术背景
-
在中国制造-2025的国家发展规划中指出,操作系统与工业软件是制造业数字化、网络化、智能化的基石,是新一轮工业革命的核心要素。发展自主可控的工业操作系统及工业基础软件,对于我们国家具有重要的战略意义。工业基础软件与工业应用软件的基础,是智能制造时代的生产工具。当前,无论是面向代码层面的软件测试工具还是面向运行层面的系统测试工具,缺乏自主可控的产品都是不容忽视的重要事实。我国工业基础软件长期依赖进口的现状迫切需要得到改观。
当前,在兵器装备制造、轨道交通、电力装备、农业机械装备、高档数控机床、机器人、航空航天装备、海洋工程与船舶装备等工业领域,对嵌入式软件的测试更多的还是依赖代码级别的白盒测试工具;黑盒动态测试还主要是根据不同的装备需求,研发配套的工装系统,测试效率和测试深度都有很大缺陷,主要表现在几点:
(1)通用性较差,测试实施的工作强度大,重复性工作频现,难以适应产品型号多样性的特点;
(2)面对复杂的系统组成,无法对各部分设备进行独立的测试验证,设备质量认证困难所带来的重复投资严重;
(3)无法完整的搭建出被测设备的外围环境,测试的充分性难以保证,导致软件质量问题频发;
(4)测试工装系统的搭建离不开开发人员的支持,测试的可信度受到质疑。
造成上述不足的主要原因还是因为缺乏产品成熟度高、性价比优、自主可控的通用自动测试平台开发环境。
为彻底扭转长期以来依赖国外产品开展装备嵌入式软件测试的现状,我司以10砺箭之力,打造了一款具有完全自主知识产权的半实物仿真测试平台(HIL)集成开发环境ETest Studio。该系统以解决装备和设备嵌入式软件测试环境的快速开发问题为主要目标,采用标准化的硬件模块和分层结构化的软件平台,实现了被测系统的交联环境描述、信号与协议的通用化描述、测试设备资源的编辑规划、可视化测试监控界面开发、仿真模型与测试脚本开发、测试执行引擎、测试结果监控与数据分析等功能。ETest Studio在初始的架构设计时,就朝着国际ATML标准方向迈出了坚实的一步,前瞻性地将ATS领域的STD、IVI、TPS等理念应用于ETest Studio的设计和开发中,形成了由仿真交联环境和信号协议描述组成的仿真测试需求到测试资源与设备映射的系统架构模式,有效提高了测试程序的移植性和测试仪器设备的互换性,是面向工业装备软件研发和测试领域的首个国产化集成开发环境。
- 系统总体介绍
半实物仿真测试系统主要用于武器装备研发阶段、测试试验阶段对被测系统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)生成测试报告。