工程装备嵌入式软件测试环境平台技术研究

2016-10-31 08:42石小华林柯军姚雪梅
计算机测量与控制 2016年4期
关键词:测试环境嵌入式软件软件测试

黎 晖,石小华,林柯军,姚雪梅

(总装工程兵科研一所,江苏 无锡 214035)



工程装备嵌入式软件测试环境平台技术研究

黎晖,石小华,林柯军,姚雪梅

(总装工程兵科研一所,江苏 无锡214035)

为了弥补传统实装测试环境无法满足异常测试用例执行条件等缺点,提出一种基于CAN总线的工程装备嵌入式软件仿真测试环境平台;首先介绍了测评中心体系结构,阐述了软件仿真测试环境的功能实现及优点;利用该平台对某型显示终端进行软件测试,在软件需求分析基础上建立了仿真模型,配置了总线接口,编写了测试脚本任务,最后列出了软件测试发现的问题;采用软件测试环境平台,能够提供极端或异常的测试环境,缩短了软件测试周期并提高了测试效率。

软件测试;嵌入式软件;测试环境;显示终端

0 引言

电控系统已成为工程装备作业控制系统的重要组成部分,它配合其它分系统(如液压系统等)完成工程装备的正常作业功能,并提供必要的安全保护[1]。电控系统主要由主控箱、作业控制盒及显示终端等组成,之间所有的控制指令以及与底盘车和上装外围传感器等设备的作业状态信号等信息通讯都是通过CAN总线网络进行传输通讯。不同工程装备根据不同的工作需求,需要设计CAN总线通讯网络并制定CAN总线通讯协议[2],然后在此基础上进行电控系统软件开发。

随着现代工程装备电子信息化技术的迅猛发展,装备中各类电子设备的比例不断增大,在很大程度上提高了我军工程装备的综合性能指标。电控系统主要软件均属于嵌入式系统,其软件质量直接影响工程装备的作业性能和可靠性。在装备研制、试验及使用当中,发现的大部分故障都是由于软件缺陷导致的,不仅影响了研制进度,更造成了装备损害与人员伤害。因此必须在电控系统软件开发阶段进行软件测试,以发现并消除软件缺陷,最大程度提高软件质量。

由于嵌入式软件的运行具有较强的硬件依赖性,其软件测试主要基于硬件接口的信号驱动及响应来完成,给嵌入式软件的测试环境确认增加困难[3]。对电控子系统进行配置项软件测试时无法交联整个系统,因此通讯接口与时序等错误较难发现[4]。将电控系统投入到实际装备环境中进行系统测试,又无法满足极端或异常测试用例的执行条件,比如模拟作业机构的超限动作或传感器的超边界范围输入等情况,这类非正常等价类用例测试极易导致装备损害。另外由于各种资源的限制,实装环境能够提供给软件测评的有效时间也非常有限。可见,鉴于军用工程装备软件测试提出的特殊苛刻环境要求,传统的软件测试环境已无法满足,迫切需要构建一种通用性仿真测试环境[5]。因此本文针对工程装备电控系统嵌入式软件的特点,提出了一种基于CAN总线通讯的软件仿真测试环境平台的具体实现方法,基于电控系统软件和硬件设备模拟实装交联环境和其中物理接口的输入、输出信号,模拟被测软件可能遇到的极端或异常环境。且该软件测试环境平台只需对测试配置与测试脚本稍加修改,便可用于同类CAN总线通讯软件测试,具有一定的通用性。

显示终端是工程装备电控系统中比较典型的嵌入式设备,本文以某型工程桥梁装备为对象,基于设计的软件测试仿真环境平台,对其显示终端嵌入式软件的测试方法进行研究。

1 软件测试仿真环境平台

软件测试仿真环境平台主要用于为嵌入式软件的配置项及系统级软件测试提供一个实时、非侵入式且闭环的测试环境[6],它属于软件测评框架内的一个重要组成部分。

1.1软件测评体系结构

本软件测评中心的整体结构体系图如图1所示,该体系主要包括软件测试仿真环境平台、军用软件测试管理平台以及通用测试计算机组成。

图1 软件测评中心体系图

其中军用软件测试管理平台的服务端包括WEB服务与数据库备份服务,客户端包括软件测试管理(质量保证、配置管理、跟踪控制)客户端、测试过程控制(需求策划、用例设计、测试记录)客户端以及测试文档动态生成客户端;软件测试仿真环境由测试主机、工控处理机以及CAN总线网络组成。测试主机主要用于实现测试前的仿真环境模型及对应脚本开发等工作,测试主机通过以太网与工控处理机实现测试数据的上传下载。工控处理机通过CAN总线网络与测试目标连接通信,通过数据模型加载、硬件驱动等实现对总线式嵌入式软件的实时测试;通用测试计算机可以完成被测软件的静态分析、软件文档审查、自动测试以及现场测试,通过数据分析计算机将测试计算机得到的测试记录进行数据规格化,然后存入至对应的数据库备份。

1.2软件测试仿真环境功能结构

软件测试仿真环境平台的功能结构图如图2所示,测试主机完成的主要功能包括测试仿真环境模型的搭建、测试脚本的编辑开发以及接口配置。其中测试仿真环境模型开发是基于对工程装备嵌入式软件的环境需求分析,进行环境模型的用户图形化开发和模型框架的代码生成,为测试目标搭建软件测试所需的仿真交联环境。测试脚本编辑开发的目的是将测试员设计的测试用例转换成测试脚本任务,通过测试控制完成脚本任务的调度,从而驱动测试正常执行[7]。测试环境的接口配置主要为CAN总线接口配置测试软件的通讯协议及不同类型的数据变量,以完成测试主机与被测目标的数据交互。

图2 软件测试仿真环境功能结构

工控处理机的主要功能是加载测试主机上建立的仿真环境模型以及测试脚本任务,任务调度模块驱动脚本解释器实现对脚本的解释。通过真实CAN总线与被测目标连接,并完成接口驱动管理,通过对被测目标进行测试激励与反馈响应接收来完成测试用例的执行[8]。测试主机最后对测试记录进行实时显示及分析处理。

软件测试环境仿真平台的主要优点如下:

1)能够模拟实装工作环境无法提供的极端测试环境。将嵌入式软件投入到实装环境中进行配置项或系统测试时,无法提供极端或异常测试用例的执行条件,比如模拟作业机构的超限动作或传感器的超边界范围输入等情况,这异常用例测试极易导致装备损害。而利用软件测试环境平台搭建的模拟环境进行测试,可使软件在临界点甚至超限范围下工作,能够满足极端或异常用例的执行条件,从而在很大程度上提高了软件测试的覆盖充分性;

膨润土是主要矿物蒙脱石达到可利用含量的黏土或黏土岩,在DZ/T 0206—2002[8]规定按蒙脱石质量分数≥40%的边界品位圈定膨润土储量,同时也指出对选矿性能良好、适于蒙脱石分离的低层电荷性膨润土,其蒙脱石质量分数指标可适当降低,有些膨润土矿在计算储量时,实际将蒙脱石质量分数达到30%或35%的资源也计入膨润土储量内。对这类多组分的复合矿产,单一利用主矿物显然将造成资源的浪费。

2)能够实现软件测试环境的快捷搭建。利用实装设备搭建真实测试环境需要耗费大量的人力、物力和精力,而且由于各种资源条件的限制,实装环境能够提供给软件测评的有效时间非常有限。而通过软件测试环境仿真平台可以便捷、快速地生成实装环境中各个设备的仿真模型以及设备之间的接口配置,用仿真模型替代实际设备,接口配置替代实际总线网络、模拟量及开关量的输入输出,减少现场布线调试等额外的工作,极大地缩短了软件研发及测试周期,进一步提高了效率;

3)能够实现各个配置项的单独测试。实际整套电控系统的软硬件开发过程中,其中各个设备及对应配置项软件从方案设计、硬件制作到软件编程等各阶段的结束时间都难以实现完全同步。因此当其中一个配置项软件研发出来时,无需等待其它交联配置项配合搭建工作环境。只需要利用软件测试仿真环境平台,按照装备电控系统部署建立仿真模型,并根据特定的CAN总线通讯交互协议设计脚本任务,对测试目标施加驱动激励并接收其反馈响应结果,即可在电控系统全套设备研发完成之前,尽早实现对单独配置项的软件测试。

2 基于仿真平台的显示终端软件测试

显示终端软件为某型工程装备的一个嵌入式软件,首先对该软件进行需求分析,然后在需求分析的基础上,利用软件测试环境仿真平台建立显示终端与其它交联设备(主控箱)的仿真模型、接口配置及对应的脚本任务。

2.1软件需求分析

2.1.1功能需求

如图3,显示终端软件完成的功能包括:

1)数据标定:利用标定界面对传感器、手柄等配置参数进行查询并标定,还能完成参数恢复;

2)控制参数显示:通过控制参数界面完成移动盒开关与模拟量输入及控制输出信号显示;

3)系统状态显示:通过系统状态界面完成网络在线状态、液压系统信息状态,以及作业机构运动姿态参数显示;

图3 显示终端功能需求

2.1.2接口需求

显示终端软件外部接口如图4所示,通过CAN2总线接口与主控箱进行数据交换,所有总线数据的格式内容按显示终端通讯协议规定进行收发。正确格式的数据将接收并处理,错误格式的总线数据将被去除。

图4 显示终端接口需求

2.2仿真模型建立

基于显示终端软件的需求分析及其CAN总线通讯协议,利用嵌入式软件测试环境平台建立显示终端软件测试环境模型如图5所示。

图5 显示终端仿真环境模型

显示终端采用CAN总线通讯技术,根据该工程装备电控系统规定的总线通讯协议,与主控箱进行数据信息的发送与接收反馈,从而完成对控制手柄与上装传感器的参数标定功能,并实时显示底盘车与作业机构的状态信息。

建立仿真模型之后,根据显示终端CAN总线通讯协议,进行测试环境模型的总线接口配置。图6显示了CAN2网络的接口数据配置,共包括8个数据变量,不同数据变量拥有唯一的ID号(分别为0x1c0、0x2c0、…、0x4c1),每个变量包含8个字节,每个字节包含8个数据位。协议定义中,部分使用单个字节表示模拟量,其余则使用字节中的单个数据位表示开关量。

图6 总线接口参数配置

2.3脚本任务

完成仿真模型建立与接口参数配置后,软件测试环境平台可自动生成环境模型脚本代码,图7显示了部分代码。然后在该模型脚本基础上,根据需求分析设计的测试用例,编写测试脚本任务。脚本任务包括所有测试用例的执行时间顺序、测试输入、对应的测试结果判定以及测试过程的记录。

图7 模型脚本代码

基于脚本任务的实时软件测试应根据配置项测试要求,在仿真环境模型基础上生成正确的测试脚本,然后在工控处理机操作系统下,由实时调度程序驱动脚本解释器对脚本任务进行实时解释,动态生成并发送测试数据到主控箱与显示终端的仿真模型,同时通过解释器、仿真模型与被测软件之间的交互,对测试反馈进行处理,判断测试结果是否与预期结果一致,最终达到嵌入式软件配置项测试的目的。

3 结果分析

利用软件测试仿真环境平台对显示终端进行软件测试,基于建立的仿真模型与总线接口配置,在测试脚本任务驱动下,用工控处理机模拟主控箱与显示终端实物进行CAN数据收发,数据严格按照显示终端通讯协议进行设计。一方面,通过主控箱模型在线进行CAN数据发送,通过显示终端功能界面观察对应显示输出状态是否正确。另一方面,利用显示终端标定界面发送标定信息,通过工控处理机接收标定信息,并通过测试主机的用户面板观察标定信息是否正确。测试发现的部分问题如表1所示。

4 结语

进行工程装备电控系统嵌入式软件测试前需要搭建测试环境,传统实装测试环境无法满足超限等极端或异常测试用例的执行条件,鉴于军用软件测试提出的特殊苛刻环境要求,本文提出一种基于CAN总线的软件仿真测试环境平台。首先介绍了本测评中心的体系结构以及软件仿真测试环境平台的功能及主要优点,利用该环境平台对某型显示终端软件进行测试。在软件需求分析的基础上,建立了仿真模型,完成总线接口配置,编写了测试脚本任务,最后描述了发现问题的测试用例执行过程与实测结果。采用工程装备嵌入式软件测试环境平台,

表1软件测试问题

测试输入(过程)测试问题(结果)主控箱模型发送数据,输入ID=0x3c1,dlc=8,data0=0x66,data1=0x19,data2=0x00,da-ta3=0x00。查看底盘车状态界面。期望结果:底盘车横倾角值15.02,对应表盘指针向左打满,报警指示灯变红。实测结果:表盘指针超出左边界,报警指示灯未变红。主控箱模型发送数据,ID=0x4c0,dlc=8,data0=0x00,da-ta1=0x00,data2=0x00,data3=0x00。查看显示终端控制输出界面。期望结果:控制输出界面吊机回转“左转”指示灯变绿。实测结果:吊机回转“左转”指示灯不亮,“右转”指示灯变绿,与通讯协议不符。显示终端进入手柄标定界面,按键操作输入零位=128,死区=50,最小值=50,最大值=200,按F8进行数据标定。期望结果:用户面板查看到的标定信息与通讯协议相关定义相一致。实测结果:用户面板查看标定信息为ID=0x621,dlc=8,data0=0x20,data1=0x04,data2=0x10,data3=0x01,data4=0x80,data5=0x32,da-ta6=0x32,data7=0xC8,与通讯协议相关定义不一致。

能够提供极端或异常的测试环境,增强了软件测试的充分覆盖性,缩短了软件测试周期并提高了测试效率。

[1] 巫莉,黄江峰. 电气控制与PLC应用[M]. 北京: 中国电力出版社,2008.

[2] 周凤余,鲁守银. CAN总线系统智能节点设计与实现[J].微计算机信息,1999,15(6): 9-12.

[3] 古乐,史九林. 软件测试技术概论[M]. 北京: 清华大学出版社,2004.

[4] Hawkins J,Howard R B,Haung V. Nguyen automated real-time testing for embedded control system[J]. IEEE,2002,6(03):647-652.

[5] 唐科. 软件仿真环境下的嵌入式软件测试的研究[D]. 成都: 电子科技大学,2005.

[6] 钟德明,刘斌,阮镰. 嵌入式软件仿真测试环境软件体系结构研究[J]. 北京航空航天大学学报,2005,31(10): 1130-1134.

[7] 宋文,于林字,刘军. 通用嵌入式软件测试环境在武器装备软件测试中的应用[J]. 测控技术,2008,24(10): 65-68.

[8] 权巍,王俊杰,邢忠宝. ARINC429总线通讯软件测试环境的构建[J]. 计算机测量与控制,2008,16(12): 1783-1785.

Research on Embedded Software Test Environment Platform Technology for Engineering Equipment

Li Hui,Shi Xiaohua,Lin Kejun,Yao Xuemei

(First Engineers Scientific Research Institute, General Armaments Department,Wuxi214035,China)

To cover the shortage of satisfying exception test cases’ execution condition of traditional real equipment test environment,a kind of embedded software test environment platform for engineering equipment based on CAN bus is proposed. First introduces the system architecture of software test center,presents the function implementation and advantages of software test environment platform. Then utilize this environment platform to perform software test for a certain type of display terminal,built the simulation model and configure bus interface based on requirement analysis,and compile the test script task. Finaly list the problems found during the software test procedure. The software test environment platform could provide exception test environment,shorten the test period and increase the test efficiency.

software test; embedded software; test environment ; display terminal

1671-4598(2016)04-0010-03DOI:10.16526/j.cnki.11-4762/tp.2016.04.003

TP23

A

2015-09-23;

2015-10-18。

黎晖(1984-),男,江西南丰人,工程师,主要从事渡河装备技术研究工作。

猜你喜欢
测试环境嵌入式软件软件测试
全数字仿真测试环境在航天软件测试中的应用研究
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
基于人工智能的模块化嵌入式软件开发研究
雷达航迹处理测试环境构建方法研究
网络设备自动化测试设计与实现
EXCEL和VBA实现软件测试记录管理
全景相机遥控器嵌入式软件V1.0 相关操作分析
软件测试工程化模型及应用研究
基于Eclipse的航天嵌入式软件集成开发环境设计与实现