一、 技术要求及设备选型情况
1、技术要求
系统采用上下位机的结构,上位机要求功能丰富、灵活易用,下位机要求实时性高、仿真能力强、同步效果好;
可实现高可靠性强实时测试,响应时间≤1ms;
系统具有集成的统一工作环境。集成的测试设计、执行及管理环境,包括项目管理、仿真建模、接口协议描述、测试资源规划、实时监控设计、测试用例开发及管理、测试执行、测试数据统计及分析、测试报告生成等功能;
支持的I/O接口类型包括:RS232、RS422、RS485、CAN、TCP、UDP、AD、DA、DI、DO、1553B、ARINC429等,并可允许根据测试需求补充扩展;
具有仿真建模手段,支持通过图形化界面对被测设备(系统)外部交联环境进行定义和编辑,并定义协议数据与物理层传输通道;
具有通用化的通信协议定义与描述语言处理环境,可以定义和描述各类结构的总线协议;
具有开放的协议模板管理接口,通过不断在测试中积累各领域的应用层协议,可实现针对不同领域嵌入式系统自动化测试解决方案的快速构建;
支持实时图形化监控窗体,包括控制类、表格类以及显示图形;可通过枚举、虚拟仪表、状态灯、曲线图等手段实时监控关键变量;
支持报警条件设置,在达到报警条件的时候以醒目的方式显示报警数据;
支持监控仪表协议字段绑定方法,支持收发数据字段的双向绑定,并具有表达式绑定能力;
支持多监控窗体设计与运行,支持网络环境下任意桌面的监控窗体运行;
提供测试用例脚本编辑与开发环境,通过简单的通道与协议字段赋值,便可完成测试数据的收发与测试逻辑的判断;
提供测试执行实时上位机模块,实现测试执行时实时动作脚本的编辑、编译、下载和调试;
实时动作脚本语言具有时序型、反应型、前摄型、顺序型四种动作模式,允许多模式嵌套与混用;
提供测试执行实时下位机模块,装载实时动作脚本,实现测试执行的实时动作仿真;
提供matlab/Simulink接口集成方案,可利用Simulink现成的仿真模型进行仿真测试,仿真模型参数可配置;
具有插件化的功能扩充能力,无论是通信协议描述还是测试用例描述,平台都均需提供对插件的开发支持;
可按二进制、八进制、十六进制以及解析后的数据的形式监测输入与输出的报文并查询过滤;
支持测试结果的查看、测试报告自动生成;
支持单配置项单接口和多接口以及多配置项的系统测试。
2、设备的初步选型情况
经调研,目前国内市场上嵌入式系统软件安全性测试工具主要分为以下三类:纯硬件方式、纯软件方式和硬件与软件结合的方式。
纯硬件的嵌入式系统测试平台主要是利用示波器、逻辑分析仪、协议分析仪、波形发生器等仪器设备实现对嵌入式系统的测试,尽管这些仪器设备具有比较高的性能,可以实现对嵌入式系统数据总线和控制总线非侵入式的数据采集和监控,但它们主要应用在嵌入式系统硬件的设计和测试工作中,可以较好地实现硬件层和链路层的测试与分析,对嵌入式软件的安全性测试能力则比较薄弱,不能支持各个测试接口之间的数据关联,对于应用层协议的分析与判读自动化程度不高,对测试结果分析的要求较高。
纯软件方式的嵌入式软件测试平台利用全数字仿真技术,在PC机上模拟整个嵌入式硬件系统,不但包括核心CPU,而且将外围各种器件,如串口、定时器、通用输入输出接口等进行数字化的仿真,嵌入式软件无需改动或者稍加改动就能在这个仿真环境下运行,通过仿真模型内建的测试接口导出和发送测试数据,驱动被测软件运行,实现对嵌入式系统软件动态的封闭测试。纯软件方式的嵌入式软件测试平台难以适应当前硬件芯片不断更新的现状,许多项目也都是针对某一特定的硬件平台进行全数字仿真研究,难以通用,并且尚停留在实验室研究阶段,还没有形成可供选择的有效产品。
硬件与软件结合的嵌入式软件测试平台是当前较为实用的嵌入式系统软件安全性测试解决方案,同时也是发展趋势,这类测试平台又分为两类。一类是以实现嵌入式软件插装和插装信息收集为主要目标的嵌入式软件覆盖率和安全性能测试工具,如AMC公司生成的CodeTest以及LDRA公司生产的Testbed,这种测试平台通过信号捕捉探头进行插装数据的采集和上传,关注的重点是嵌入式软件内部的逻辑结构,而不是嵌入式软件外部的功能表现,与嵌入式系统确认测试的要求有较大的差距。另一类软硬件结合的嵌入式测试平台则以系统确认测试为主要目标,通过集成各类总线板卡,开发测试应用程序,实现对嵌入式系统非侵入式的闭环测试,测试的主要对象是嵌入式系统的功能、性能、边界、可靠性和安全性等外部质量特性,这些外部质量特性也是嵌入式系统用户关切的质量特性。
硬件与软件结合的以系统安全性测试为主要目标的测试系统比较适合于我单位的测试应用,该类型的测试系统主要有国外的Trace32、dSPACE等,国内的主要有凯云联创(北京)科技有限公司的ETest_RT、上海创景计算机系统有限公司的AutoTest以及北京航空航天大学的GESTE。
dSPACE 实时仿真系统是由德国dSPACE 公司开发的一套控制系统开发及测试的工作平台,实现了和 MATLAB/Simulink 的完全无缝连接。dSPACE由代码生成及下载软件、综合试验环境软件、自动化测试工具等组成。dSPACE主要用于控制系统的设计、仿真及测试过程中。dSPACE属于国外的产品,在控制系统测试方面能力较强,但价格昂贵,开放程度不足,不太符合测评中心的使用需求,无法提供定制化服务。
国内的ETest_RT、AutoTest、GESTE具有完全的自主知识产权,均是针对于嵌入式系统进行实时、闭环、非侵入式测试的自动化测试平台,适用于嵌入式系统在设计、仿真、开发、调试、测试、集成验证和维护等各阶段配置项级别和系统级别的安全性动态测试与验证。通过对以上国内外产品的调研,这些产品各有特点,主要特点及对比情况如表所示:
表1 国内外产品特点对比表
序号 | 功能及指标情况 | ETest_RT | AutoTest | GESTE | dSPACE |
---|---|---|---|---|---|
1 | 系统架构 | 上位机+下位机 | 上位机+下位机 | 上位机+下位机 | 上位机+下位机 |
2 | 支持分布式部署 | 支持 | 不支持 | 不支持 | 支持 |
3 | 实时性指标 | VxWorks实时机,≤100us | Linux系统,≤10ms | VxWorks实时机,≤1ms | RTI实时机,≤100us |
4 | 支持的接口类型 | RS232/422/485、CAN、TCP/UDP、AD、DA、DI、DO、1553B、ARINC429、继电器、PWM、计数 | RS232/422/485、CAN、TCP/UDP、AD、DA、DI、DO、1553B、ARINC429 | RS232/422/485、CAN、TCP/UDP、AD、DA、DI、DO、1553B、ARINC429 | RS232/422/485、CAN、TCP/UDP、AD、DA、DI、DO、1553B、ARINC429、ECU、LIN、PWM、Multi-I/O、增 量 编码器接口、 |
4 | 测试方案管理 | 测试方案支持多项目管理 | 测试方案支持多项目管理 | 测试方案支持多项目管理 | 测试方案支持多项目管理 |
5 | 交联环境描述 | 可视化绘制交联环境 | 可视化绘制交联环境 | 可视化绘制交联环境 | 可视化绘制交联环境 |
6 | 接口协议描述 | DPD语言描述协议,兼顾复杂性、灵活性 | 表格形式描述,难以描述复杂的协议 | 表格形式描述,难以描述复杂的协议 | SIMULINK 框图形式描述,兼顾复杂性、灵活性 |
7 | 通信协议的支持 | 支持协议模板的导入与导出,形成行业协议模板 | 协议描述只能用于一次测试方案 | 协议描述只能用于一次测试方案 | 允许指定处理器之间的数据通讯协议 |
8 | 图形化监控设计 | 具有通用控件、监视控件、控制控件类型划分,监视窗体设计支持协议的双向绑定与表达式绑定 | 具有可视化的监控窗体设计功能,不支持表达式绑定 | 具有可视化的监控窗体设计功能,不支持表达式绑定 | 具有可视化的时间响应或仪表 |
9 | 测试执行监控窗体的分布式部署 | 支持 | 不支持 | 不支持 | 支持 |
10 | 测试脚本开发 | 既支持Python脚本,也支持类JavaScript脚本 | 完全图形化脚本 | C语言脚本 | Python语言脚本 |
11 | 测试自动化框架 | 建立测试脚本,自动生成前置条件、后置条件、测试数据以及测试数据自动测试脚本框架 | 需用图形化的方式绘制测试序列,测试数据无法批量定义 | 无测试自动化框架支持 | 提供自动测试库,实现测试自动化 |
12 | 测试实时数据查看 | 支持测试数据的实时查看与分析,可设置报警条件与过滤条件 | 支持测试数据的实时查看与分析 | 需定义测试数据的收集机制,提供测试数据的事后分析 | 提供监视窗口实现出错监视功能 |
13 | 插件化功能扩充 | 提供插件化功能扩充接口 | 无插件化扩充接口 | 无插件化扩充接口 | 提供插件化功能扩充接口 |
14 | 外部仿真模型集成 | 可实现Matlab/ Simulink仿真模型的集成 | 无法实现外部模型的集成 | 可实现Matlab/ Simulink仿真模型的集成 | 无缝连接Matlab/ Simulink仿真模型 |
15 | 测试报告生成 | 支持测试报告的生成 | 支持测试报告的生成 | 不支持测试报告的生成 | 支持测试报告的生成 |
根据对以上四款产品的对比分析,ETest_RT具有如下特点与优势:
(1)系统具有扩展与适应能力强的特点,分层构件化的软件架构使得系统可以灵活集成各类测试仪器;
(2)系统提供了用DPD语言描述通信协议的方法,使得系统可以适应几乎任何类型的自定义通信协议;
(3)测试执行监控窗体设计具有友好的人机交互性,可以在不编写任何测试用例脚本的情况下完成基本的测试任务;
(4)系统不仅提供了强大功能的Python测试脚本开发功能,还提供了类Java Script的实时动作脚本开发功能,供测试用例开发时针对不同的应用灵活选择;
(5)软件采用分布式计算技术,既能满足小规模的测试需要,也能满足测试系统分布式部署的需求;
(6)系统实现了面向测试人员的实时动作脚本开发语言,提供了大量与测试相关的测试原语,学习和使用都非常简单;
(7)系统提供了脚本执行的自动化框架,可自动建立前置条件、后置条件和测试数据池,与软件自动化测试的贴合度较高。
凯云联创(北京)科技有限公司在国产自主可控软件测试类产品的研究、开发方面具有深厚的技术基础和行业背景,主要产品覆盖软件测试业务全过程,其中有自主研发的嵌入式系统测试平台集成开发环境(ETest Studio)、便携式嵌入式系统半实物测试平台(ETest_USB)、工业物理系统测试验证平台(ETest_CPS)、实时级嵌入式系统半实物仿真测试平台(ETest_RT)、嵌入式系统测试教学实训平台、软件测试项目管理系统、测试数据生成与管理软件等。基于ETest Studio所开发的系列产品(ETest_USB、ETest_CPS 、ETest_RT)已在装甲兵工程学院、陆军装备软件测评中心、航天三院33所、合肥电子工程学院等单位得到成功应用。
综上所述,凯云联创(北京)科技有限公司在公司和产品、技术、服务等方面都具有一定的优势和特色,且较为适用于我单位装备型号的嵌入式软件安全性测试任务的开展和测试平台的研究工作,有利于解决目前测评中心测试环境构建能力以及安全性测试自动化程度不足的问题,实现装备嵌入式软件的深度测试,提高我所装备型号嵌入式软件的质量。因此本项目拟购置1套ETest_RT。