半实物仿真测试平台集成开发环境技术背景及总体介绍

本文主要是介绍半实物仿真测试平台集成开发环境技术背景及总体介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 技术背景

当前科技的发展成果日新月异,信息时代已经成熟,信息与装备深度融合的智能物联时代也初现曙光,广泛嵌入于各种设备中的智能化嵌入式软件必将大显身手,成为未来产业的爆发点和企业产品价值的增长点。软件定义世界逐渐成为这个时代的共识,软件的质量直接影响着我们生活的质量,嵌入于各种智能设备中的嵌入式软件的质量则不仅仅与生活质量紧密相关,更是与我们的生命安全息息相关。如何对这类软件进行有效的测试和验证,打造智能物联时代的安全环境,是人类社会需要面临的巨大挑战。

在中国制造-2025的国家发展规划中指出,操作系统与工业软件是制造业数字化、网络化、智能化的基石,是新一轮工业革命的核心要素。发展自主可控的工业操作系统及工业基础软件,对于我们国家具有重要的战略意义。工业基础软件与工业应用软件的基础,是智能制造时代的生产工具。当前,无论是面向代码层面的软件测试工具还是面向运行层面的系统测试工具,缺乏自主可控的产品都是不容忽视的重要事实。我国工业基础软件长期依赖进口的现状迫切需要得到改观。

当前,在兵器装备制造、轨道交通、电力装备、农业机械装备、高档数控机床、机器人、航空航天装备、海洋工程与船舶装备等工业领域,对嵌入式软件的测试更多的还是依赖代码级别的白盒测试工具;黑盒动态测试还主要是根据不同的装备需求,研发配套的工装系统,测试效率和测试深度都有很大缺陷,主要表现在几点:

(1)通用性较差,测试实施的工作强度大,重复性工作频现,难以适应产品型号多样性的特点;

(2)面对复杂的系统组成,无法对各部分设备进行独立的测试验证,设备质量认证困难所带来的重复投资严重;

(3)无法完整的搭建出被测设备的外围环境,测试的充分性难以保证,导致软件质量问题频发;

(4)测试工装系统的搭建离不开开发人员的支持,测试的可信度受到质疑。

造成上述不足的主要原因还是因为缺乏产品成熟度高、性价比优、自主可控的通用自动测试平台开发环境。

为彻底扭转长期以来依赖国外产品开展装备嵌入式软件测试的现状,我司以10砺箭之力,打造了一款具有完全自主知识产权的半实物仿真测试平台(HIL)集成开发环境ETest Studio。该系统以解决装备和设备嵌入式软件测试环境的快速开发问题为主要目标,采用标准化的硬件模块和分层结构化的软件平台,实现了被测系统的交联环境描述、信号与协议的通用化描述、测试设备资源的编辑规划、可视化测试监控界面开发、仿真模型与测试脚本开发、测试执行引擎、测试结果监控与数据分析等功能。ETest Studio在初始的架构设计时,就朝着国际ATML标准方向迈出了坚实的一步,前瞻性地将ATS领域的STD、IVI、TPS等理念应用于ETest Studio的设计和开发中,形成了由仿真交联环境和信号协议描述组成的仿真测试需求到测试资源与设备映射的系统架构模式,有效提高了测试程序的移植性和测试仪器设备的互换性,是面向工业装备软件研发和测试领域的首个国产化集成开发环境。

  1. 系统总体介绍
    1. 系统的基本需求

半实物仿真测试系统主要用于武器装备研发阶段、测试试验阶段对被测系统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能实现可视化仿真测试监控窗体设计运行、测试数据管理、测试结果报告与展示等功能。

    1. 产品定位

ETest Studio是一款自动测试系统集成开发环境,主要为自动测试系统(Automatic Test System,ATS)的开发提供一套完整的开发平台,ATS厂商完全可以利用ETest Studio开发出面向不同UUT的自动化测试工装,开发效率和开发质量都非常高,大幅缩短企业ATS产品的研发与生产周期,降低ATS产品成本,提高唯快不破的企业市场竞争力。

ETest Studio也可以为工业领域的装备研制制造企业、第三方测试认证机构提供快速测试环境的搭建与开发支撑。

    1. 系统的组成与架构

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不同产品形态的生成。

    1. 系统的部署形式

ETest Studio兼顾了仿真系统和自动测试系统两方面的需求,可以利用硬件集成加基于ETest Studio的开发的方式,搭建出由单机到多机不同的分布式仿真测试环境。

图2  ETest 单机部署模式

图3  ETest 分布式部署模式

    1. 系统的使用流程

系统的使用流程分测试设计阶段和测试执行阶段两部分。平台提供了交联环境描述、信号与协议定义、测试环境规划、测试监控窗体设计、测试流程开发、测试数据设计等的设计工作环境,可以实现对交联环境、通讯协议、测试环境、测试脚本、测试数据、测试监控的可视化管理。测试设计阶段的工作流程如下图4所示。

图4  测试设计过程

完成一个待测系统的测试设计过程,需要通过以下流程实现:

(1)设计交联环境,实现对待测系统外部交联环境模型和通信协议格式的设定;

(2)设计设备规划和PC规划,实现对仿真硬件设备和仿真测试计算机的管理;

(3)设计测试调度脚本,实现对测试过程中测试逻辑和时序的控制管理;

(4)设计测试监控,实现对测试过程的可视化监控;

(5)形成测试设计方案。

测试执行阶段的使用流程如下图5所示。

图5 测试执行过程

完成一个测试执行过程,需要经过以下步骤:

(1)获取测试设计方案;

(2)运行测试脚本,执行测试;

(3)使用实时监控窗体监控数据;

(4)测试过程结束,测试数据保存到历史数据库中;

(5)进行历史数据查看分析;

(6)生成测试报告。

这篇关于半实物仿真测试平台集成开发环境技术背景及总体介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933948

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件