实时级嵌入式系统半实物仿真测试平台
型号规格:实时级嵌入式系统半实物仿真测试平台(ETest_RT)
用途:用于支持装备嵌入式软件配置项级别和系统级别的动态验证与测试,提高我所装备型号嵌入式软件测试验证的自动化程度,促进嵌入式系统装备软件的研发与生产质量,解决具有复杂交联环境装备嵌入式软件测试环境搭建和测试开发的难题。
一、 购置理由
我单位承担了大量的装备型号研制与生产任务,这些装备型号研制与生产任务中涉及大量的嵌入式设备,用于一些关键任务的控制和管理,系统的失效可能会导致灾难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失,这就要求对嵌入式系统尤其是极易导致错误的嵌入式软件在产品定型或者批量生产前进行严格的测试、确认和验证。目前,我所的装备嵌入式软件还主要依赖于根据不同的设备研发配套的工装系统开展测试与验证工作,通用性较差,难以适应产品型号多样性的特点,测试的充分性难以保证,导致软件质量问题频发。在我所软件测评条件建设中,迫切需要建设一套装备嵌入式系统验证与测试平台,提高测评中心对多样化测试项目的应对能力。
(1)装备嵌入式软件动态确认测试的需求
开展配置项和系统级别的动态测试是嵌入式系统测试与验证必不可少的重要环节。目前,一些通用的软件测试工具都是针对软件代码及覆盖率进行测试的,无法满足软件配置项级别和系统级别黑盒动态测试方面的要求,而这两个级别的测试直接关系到用户需求,关系到嵌入式产品的顺利上市,迫切需要购置能适合配置项级别或系统级别动态确认测试的装备嵌入式软件测试与验证平台。
(2)适应嵌入式系统接口类型多样性的需求
为适应嵌入式分布处理结构和应用联网要求,新一代嵌入式系统大都具有多种类型的对外接口,包括CAN、RS232/422/485等各类数字I/O接口以及A/D、D/A等接口,为保证嵌入式软件测试平台对这些接口都能适应,必须通过综合集成的办法在底层将这些接口驱动进行有机集成,在上层形成与接口类型无关的软件应用,才能确保更好地适合嵌入式系统多种接口类型互联的测试要求。
(3)嵌入式系统多接口关联测试的需求
一个嵌入式系统中可能存在着很多个接口,这些接口之间具有一定的的逻辑输入或输出关系,虽然,目前市场上有许多可以使用的CAN调试助手以及串口调试助手,但这些工具只能实施单接口的测试,当多个接口之间存在一定的逻辑输入关系时,这些调试助手将无能为力。所以购置一套全新的能保证多个接口测试需要的便携式嵌入式系统半实物测试平台尤为重要。
(4)嵌入式系统快速测试和自动测试的需求
嵌入式系统的测试人员应将主要精力放到测试用例设计上,这样才能确保嵌入式系统测试的完备性,平台需要通过在底层集成各种类型的接口驱动将其转换为网络接口,在应用层通过自动化的测试与监控手段为测试人员提供一个灵活易用的测试设计与执行环境,减轻测试人员在协议分析、测试程序开发、测试数据分析等方面的工作量,提高嵌入式系统的测试和验证效率,确保嵌入式系统的质量和投入运行后的可靠性。
(5)嵌入式系统完备测试和安全测试的需求
系统测试的基本要求是被测系统能尽量运行在真实的环境中,这要求嵌入式软件必须实现实时、闭环、非侵入的系统测试,但如果完全依赖于真实的运行环境,由于很难创造各类可能会引起嵌入式软件故障的输入条件,导致对嵌入式软件的测试很难达到充分性要求。如果在真实环境中进行测试,嵌入式软件如果出错,可能会影响其他交联的系统,对其他系统甚至整个系统造成无法弥补的损失,有些错误还可能威胁到人员的安全。因此,必须建立起能够模拟和仿真被测系统外部交联系统的嵌入式软件测试环境,实现对外部交联环境的实时仿真,才能实现嵌入式系统完备测试和安全测试。
目前,我单位尚不具备开发实时嵌入式系统半实物仿真平台的经验,对测试软件的原理、流程等相关要素还处于探索阶段,因此本项目拟购置1套的ETest_RT系统软件用于辅助我单位开展装备型号嵌入式软件测试环境搭建和装备嵌入式系统软件测试工作。
二、 技术要求及设备选型情况
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。
三、 系统描述
1、拟选厂商简介
凯云联创(北京)科技有限公司(简称:凯云科技)成立于2014年,核心业务是为军方、航空航天、中电、兵器、船舶、核工业、核物理、院校、交通、水利水电、通信以及金融等行业提供软件测试工具与测试服务,并承接软件开发、系统集成及信息技术服务。凯云科技前身是北京凯云创智软件技术有限公司,始创于2005年,自主研发了超过40项拥有全部知识产权的软硬件产品,是国家级高新技术企业、北京市双软认定企业。
凯云科技自创建以来,始终致力于国产自主可控软件测试类产品的研究、开发及培训推广,为国内军用、工业、民用以及院校培训教学提供具有国际领先水平、通用性强、可靠性高、应用成本低的通用嵌入式系统测试及管理环境,同时积极引进国内外先进技术。主要产品覆盖软件测试业务全过程,其中有自主研发的嵌入式系统测试平台系列产品、嵌入式系统测试教学实训平台、软件测试项目管理系统、测试数据生成与管理软件等,引进产品包括各类源代码分析测试、功能测试、性能测试、安全性测试等工具。
基于长期在嵌入式系统及软件测试领域的研究与创新,凯云科技目前已发展为国内软件测试类产品和服务的主要供应商,公司总部位于中关村丰台园区,并在上海、西安、成都设有办事处。在全国有包括:航天、航空、兵器、电子、船舶等400余家高端客户,在装备软件工程与质量检测方面,拥有优异的业绩和良好的口碑。
2、设备组成
ETest_RT系统主要由硬件部分与软件部分组成。硬件部分由上位机和实时下位机组成,上位机采用商用便携计算机,下位机采用PXI测控计算机。上位机安装Windows操作系统,运行设备资源管理、测试设计、测试调度、运行服务器、数据中心、运行客户端、实时动作下载调试器;下位机安装实时操作系统,运行装载器模块、实时进程模块、上传器模块;下位机通过各类PXI接口板卡与被测系统相连。
ETest_RT系统的硬件结构原理图如图3-1所示。
图3-1 ETest_RT硬件结构原理图
ETest_RT采用构件化分层的软件开发框架,软件底层代码基于 GCC / CMake开发环境,采用C++语言开发;软件上层集成框架基于Micosoft Visual Studio 开发环境,采用C# 语言开发,形成图3-2所示的分层结构。
系统按从硬件到用户抽象层次逐步提高的方式设计,划分为应用层、管理层、变换层和执行层。
应用层:用户处理测试业务。对上,它为用户屏蔽系统的底层实现技术,使用户专注于测试本身而不必关注系统的技术细节。对下,它调用各种数据,发布测试脚本,指挥测试的启动或终止。
管理层:系统接收用户在应用层发出的指令,按逻辑单位调度和协调测试动作。对上,它为应用层屏蔽系统的部署细节,使应用层不必为部署差异而变化;对下,它将数据和指令分发到各个组件。
变换层:系统完成逻辑概念到物理实体的映射转换。对上,它为管理层屏蔽物理设备的工作细节,提供按逻辑单位组织的数据;对下,它向执行层发布具体的硬件操作指令。
执行层:系统执行实际的物理动作。对上,它回报物理设备输入的数据与状态信息;对下,它操作硬件与被测系统交互。
软件分设计态和运行态。系统工作于设计态时,不必进行完整软硬件部署。用于规划测试场景、设计测试方案、拟制测试用例、撰写测试脚本、准备测试数据、设计数据监控。
系统工作于运行态时,必须按测试方案设计要求,部署相关软硬件。用于实施测试方案,运行测试用例,执行测试动作,监控实时数据,获取测试报告,得出测试结果。运行态又可按其部署在被测件与用户之间的位置划分为控制端与执行端,其中执行端工作时无需人工值守。
图3-2 ETest_RT软件架构图
使用ETest_RT平台进行装备嵌入式系统软件测试的步骤如下(见图3-3所示):
首先使用设备资源管理器进行设备资源规划,利用测试设计软件建立待测系统模型、设计测试用例及数据,形成测试方案文件。
测试调度台载入测试方案后,分别启动运行服务器、数据中心、数据监控器。
运行服务器对测试脚本进行解析,形成测试进程资源,通过实时上位机子系统编译、链接,下载到实时下位机中。
实时下位机将实时脚本装载,通过参数设置形成实时进程,实时进程在测试过程中,通过PXI总线形式的各类板卡与被测系统交互;
测试执行的过程中,实时下位机进程向实时上位机部分报送各类数据到数据中心,由数据中心向数据监控器和调度工作台分发各类运行数据。
测试过程中可以通过测试数据记录与查看软件和测试监控软件对测试数据进行监控、分析与评估。
图3-3 ETest_RT使用基本流程图
3、各模块主要功能
(1)硬件部分
硬件由上位机和实时下位机组成,上位机采用商用便携计算机,下位机采用PXI测控计算机。接口板卡通过PXI接口直接同连接到测试下位机中,构成可满足多种类型接口要求的测试环境。主要硬件部分的指标如下:
① PXI机箱
l 紧凑型9槽PXI机箱,带1个系统槽、1个触发总线触发槽和7个 PXI/Compact PCI外设槽
l 0°C至+50°C的宽温工作范围
l 41.6dBA超低运行噪音
l 智能机箱管理
l 5.9kg轻量铝/钢结构
l 尺寸:280mm×177mm×303mm
l 350W工业级交流电源
l 电源、温度和风扇监控LED
② PXI控制器
l Intel® Core™ 2 Duo P8400 2.53GHz处理器
l 支持VGA+DVI 双显示
l 双通道 DDR3 SODIMM 16GB
l 系统最大吞吐量 132 MB/s
l 集成SATA 硬盘250G
l 集成 I/O
l 可编程看门狗定时器
③ 1553B总线板卡
l 双通道多功能,每通道为双冗余的A、B通道
l 支持1M/2M/4Mbps及用户自定义波特率
l 帧间隔和消息间隔时间可软件设置
l 支持时间戳,分辨率1μs
l 支持自测试、错误注入
l 支持中断、支持外触发
l BC模式(总线控制器)
n BC帧可编程
n 消息间隔可编程
n 非周期性消息可动态插入
n 数据双Buffer
n 可编程
n BusA、BusB可选
n 支持分支跳转消息
n 支持错误注入
l RT模式(远程终端)
n 单数据Buffer
n 双数据Buffer
n 子地址循环数据Buffer
n 非法命令可编程
n 支持错误注入
n BM模式(总线监视器)
n 100%消息记录
n 监视数据可编程过滤
n 接收时间戳
④ ARINC429总线接口板卡
l 通道数:灵活配置通道数,最大8发8收
l 通讯速率:100Kbps,12.5Kbps,50Kbps,48Kbps,98Kbps
l 字间间隔:4bits,可程控
⑤ CAN总线板卡
l 2通道
l 通讯速率:支持1Kbps~1Mbps之间的任意波特率
l 支持双向传输,CAN发送、CAN接收
l 兼容CAN2.0A和CAN2.0B协议
⑥ RS232/RS485/RS422总线接口板卡
l 通道数:灵活配置通道数,最大4通道
l 通讯速率:最高8Mbps
l 通讯协议:RS232/422/485(可软件设置)
⑦ 模拟量输入AD
l 8通道并行采样
l ADC分辨率:16位
l 最大采样速率:100KS/s
l 量程档程控
l 容量存储:4MSa/通道
⑧ 模拟量输出DA
l 8通道模拟输出
l DAC分辨率:16位
l 16通道TTL/COMS数字IO, 输入/输出可程控
l 2通道32bit计数器
⑨ 数字量输入/输出
l 32通道TTL/COMS电平兼容数字I/O
l 每通道光电隔离
l 最高传输速率1MHz
l 大容量存储4MB/通道
⑩ 上位机
l CPU: 双核 i5-6200U 2.3GHz
l 内存:DDR4 2133MHz,8GB
l 固态硬盘:256GB
l 显示屏幕:14英寸,分辨率1920*1080
l 独立显存:2GB
(2)设计工作台
设计工作台对待测系统及其对外接口进行建模,进行协议编辑及分析、创建测试监控、建立硬件规划、创建及管理测试用例,确定测试要准备的接口设备数量。其主要功能包括:
² 进行测试方案管理,针对测试方案的操作有:新建方案、打开方案、保存方案。
² 每个测试方案中,可以包含一个到多个测试项目,多个测试项目的存在使得每个测试方案可以完成多个测试项目的设计,便于开展多个配置项到系统的集成测试。
² 测试项目有新建、重命名、删除和查看属性的操作。
² 用图形化的方式对被测系统、外围系统及被测系统对外接口进行描述,包括接口数量和接口类型,包括RS422、1553B、CAN、AD、DA、DI、DO、CT、Freq-CT、TCP等类型;能够设定接口参数。
² 创建接口协议,并使用协议描述语言进行协议描述,包括报文包头、包尾、校验等,描述各个字段类型及编码方式,以及分支、循环等结构。
² 为了适应各种数据通信的需要,协议字段具有丰富的类型,包括:整形(无符号和有符号,8位/16位/32位/自定义长度)、浮点型、布尔类型、条件语句类型、分支语句类型、计算字段、校验字段、数组字段。
² 创建测试监控,描述实时数据监控的监控内容和显示形式,并可设定报警条件。
² 用户可以在测试监控模块添加测试监控并在监控面板上添加数据监控仪器,通过不同的类型监控仪器绑定协议字段或者字段按照某种公式运算的结果,从而在运行时通过监控仪器指针或数值的改变直观地显示出测试通讯时数据的变化。
² 测试监控工具栏管理所有的测试监控仪表,包括数字表仪器,圆盘仪表,曲线图,枚举类型等。选择合适的监控仪表,将其拖拽到监控面板的合适的位置,即可添加该监控仪表到监控面板上。用鼠标拖拽监控仪表的边缘,即可调整其大小。
² 打开“属性”标签页,可以修改测试仪表的属性。其中最重要的属性是“协议段”属性,表明了该监控仪表的数据来源。
² 通过“协议段”属性右侧的展开按钮,可以打开“绑定数据协议”对话框,其中显示当前项目中的仿真模型中的所有的协议和协议段。
² 测试仪表的数据源,既可以是一个协议字段,也可以是若干个协议字段组成的公式。
² 在“绑定数据协议”对话框下部的输入框中输入协议字段,或协议字段组成的公式。双击需要的字段名称,可以添加该字段名称到自定义公式的光标所在位置。
² 创建测试硬件规划,确定测试需要使用的接口板卡设备,以及接口板卡设备对应的资源。
² 创建测试用例,并提供测试用例的管理方式,包括分组、删除、重命名等。
² 创建测试用例的内容,包括使用测试脚本描述测试的过程,包括变量定义、条件语句、循环语句、输出语句、数学运算、函数定义等。
² 提供测试脚本的扩展接口,能够实现向待测件的数据交互和数据自动解析,将比特流解析成具有意义的用户数据。
² 提供时序控制的方式,能够按照一定的时序进行规定的操作。
² 提供运行环境设置方式,设置测试运行期间的仿真模型服务器、数据中心服务器、测试执行服务器和客户端的IP地址和端口号。
² 提供对标准输入输出监控进行配置的功能,确定标准输入输出监控的类别配置。
² 提供测试脚本执行方式,能够运行用户选择的测试脚本;用户能够选择终止脚本运行。
² 能够查看输出信息及错误信息。
(2)测试运行服务软件
测试运行服务软件包括测试调度台、运行服务器和数据中心,它们是与客户端软件相配合,驱动测试数据,进行自动化测试执行。主要实现以下功能:
² 提供进程调度服务后台运行程序,在进程调度代理的帮助下,根据测试设计软件的设计,在测试主机上启动测试执行、客户端、服务器等进程,并通过进程调度服务协调各个软件的运行逻辑。
² 提供仿真模型服务器后台运行程序,通过仿真模型服务器解析测试设计所建立的仿真模型,实现测试执行时数据收发的仿真解析服务。
² 提供数据中心服务器后台运行程序,在测试用例执行过程中,在数据中心服务器中集中统一处理通道中的收发收据,确保数据监控的分布式实现。
² 提供用例服务器后台运行程序,解析处理测试设计中所编写测试用例的执行过程。
² 提供标准输入输出监控窗口程序,可以显示仿真模型服务器、数据中心服务器、客户进程以及用例服务器运行过程中的调试信息。
² 解析测试脚本中的变量定义、条件语句、循环语句、输出语句、数学运算、函数定义等语句,进行相应的操作。
² 解析测试脚本扩展接口,实现向待测系统进行数据发送/接受和数据解析。
² 解析测试脚本,按照时序控制要求进行操作。
² 在测试启动时记录所有输入数据;在测试过程中记录所有输入/输出数据;在测试完成后自动生成汇总报表。
² 按照用户要求即时停止测试用例的执行。
² 记录并显示测试用例的执行结果。
(3)运行客户端和数据监控器
运行客户端介于测试执行服务器与上位机之间,执行通信代理,负责数据的转发和客户端测试过程的管控,为上位机提取环境数据。数据监控器则以虚拟仪表或图表方式显示当前测试数据。两个模块主要实现以下功能:
² 管理实时子系统,建立实时子系统与运行态控制端之间的连接关系。
² 为实时子系统提供运行资源。
² 登录测试服务软件后,显示测试设计软件设计的全部测试监控界面,可选择一个或多个测试监控面板进行测试监控。
² 运行指定的测试监控,在测试执行过程中实时显示指定的测试数据,提供数字仪器、仪表盘、枚举项、曲线图等数据监控方式。
² 可以实时显示测试执行中的测试数据;
² 可以以解析后的协议数据格式显示测试数据,也可以以二进制、八进制、十六进制显示测试数据。
² 可以设置数据过滤条件,实现界面显示特定数据的功能。
² 可以设置数据报警条件,当出现某种特性数据时,软件以醒目的形式显示出满足报警条件的数据。
² 可以进行数据查询,可以查询某个时间段的报文,也可以查询某个协议字段的数据。
² 可以对指定的数据进行统计,也可以查看数据曲线图。
(4)设备资源管理
设备资源管理软件模块提供了系统支持的测试设备及通道的管理功能,提供了系统设备扩展的接口。其主要实现以下功能:
² 添加、删除系统设备。
² 修改系统设备的数量。
² 添加、删除设备包含的通道。
² 修改设备包含的通道的数量及类型。
² 保存设备信息到设备资源文件中,在测试设计软件中使用。
(5)运行态执行端实时上位机
运行态执行端是实现实时性的关键子系统,包括实时上位机和实时下位机。其形态如图3-4所示(虚线框是系统的其它部分):
图3-4 运行态执行端形态
实时上位机有环境管理、编译器、下载调试器、数据格式化等模块。
² 环境管理模块,管理所有输入的元数据。这些数据用于脚本解析、数据格式化。环境管理的设计是集成性原则所要求的。环境数据目前已知有如下类别:设备规划、协议描述、仿真模型和动作脚本。
² 编译器,综合环境管理所提供的元数据,编译产生可供下位机实时操作系统运行的二进制代码。由于主要的编译工作在设计态时即已完成,这里主要是链接。编译器工作的主要内容有:将测试模型提取为“实时动作脚本语言”对象;全局优化;链接仿真模型、协议描述语言、RASL三个部分,加入主框架,形成实时程序;当系统被置于调试状态时,嵌入调试信息。
² 下载调试器将编译器编译的结果发送到下位机。当系统处于调试状态时,对实时动作脚本进行调试。调试器支持以下功能:远程调试、程序载入、程序挂接、手动中断、断点设置、变量观察和单步执行。
² 数据格式化,对上传给数据中心的数据进行格式化处理,主要是利用环境管理数据还原名称与结构等元数据。
(6)运行态执行端实时下位机
运行态执行端实时下位机包含装载器、实时进程和上传器等模块。
² 下位机装载器,从上位机接收程序,设置环境,载入并启动代码。可以接收上位机指令,通知程序关闭。当系统处于调试状态时,启动调试 stub 供上位机调试器连接。
² 下位机实时进程,由装载器启动上位机程序启动生成,它具体完成实时测试动作。实时进程的代码主框架固定,以静态库的形式存放在上位机的编译器那里。在主框架中嵌入仿真代码、测试动作代码后形成完整的程序。所以实时进程具有通用的基本通信能力,包括可接收装载器的关闭指令,可向上传器发送相关数据。当系统处于调试模式时,实时进程会包含必要的调试代码。
² 下位机上传器从实时进程接收数据,并异步向上位机上传。
(6)辅助工具
工具软件提供了嵌入式系统测试时部分常用的软件工具,主要包括以下软件模块:
² 曲线数据生成工具:具有曲线数据编辑、坐标选择、曲线数据读取、曲线数据存储等功能,配合测试执行软件,提供一种测试数据生成手段。
² 测试数据记录与查看工具:在测试执行时,可记录测试执行中的数据,供测试执行结束后查看与分析,包括协议选择、数据过滤、报警条件设置功能。
² 应用协议生成工具;提供应用协议的表格化编辑功能,可以设置协议的字段组成、字段类型、字段默认取值等。
² CRC插件诊断器与CRC插件生成器:提供CRC校验算法的设计功能,可设计自定义的CRC算法,诊断其算法正确性,并最终形成协议描述语言中的CRC字段算法插件。