于晗 李柯达

关键词:软件测试;专用测试设备;通用测试设备;通信协议;通用性

0 引言

随着我国军事事业的不断发展,不同兵种作战产品的种类越来越多,复杂程度也越来越大。在产品的系列化发展过程中,通常需要很多测试设备对产品的各个部件进行测试,以确定其各项指标是否满足设计技术要求[1]。

传统的专用测试设备通常由项目组在立项之初起就进行同步设计,这类测试设备大部分是针对一种或两种部件进行设计,而无法应用于其他部件,具有很强的专用性[2]。一台专用测试设备往往只适用于一个项目,在项目结束之后,测试设备也就失去了作用,这造成了硬件的极大浪费。专用软件测试设备面临的另一个问题是研发周期很长,由于通信协议制定以及研发过程中协议在不断地变更,导致专用测试设备也需要进行相应的调整。这种调整往往是重新进行编码,因而周期很长、成本很高。

此外,由于专用测试设备的种种限制,测试环境的搭建会非常耗时并且一些特殊的测试用例也无法得到执行。为了解决上述这些问题,同时满足产品开发的需要,建立一种通用化的软件测试设备,是非常必要的。

目前,通用化的测试理念已经在各个不同领域得到了广泛应用[3-8]。2011年,何银菊等人设计开发了基于LabView的控制器自动测试平台,该平台可以在短时间内完成控制器自动测试系统的硬件连接和软件定制[9]。2019年张旭洲和李林研究了航空电子产品的通用测试设备架构,从而缩短了开发周期、节约了研制成本,提升了设备利用率[10]。

本文提出了一种通用化便携式软件测试设备,它配置有RS422串口、ARINC429接口、AD/DA接口、IO 接口等多个硬件接口,满足了绝大多数军用软件接口测试的需求,充分地利用了硬件资源,节约了研制成本。同时,测试设备提供了便捷的通信逻辑和时序逻辑编译环境,方便用户根据情况进行修改,具有一定的通用性。软件测试设备主要包括以下内容:总体设计及工作原理、硬件设计以及软件设计。

1 总体设计及工作原理

通用化便携式软件测试设备是一个涉及硬件系统、软件系统的综合平台,平台主要由主控计算机、信号处理系统以及接口适配器三部分组成。

主控计算机内部集成控制处理系统,并运行控制系统软件,包括有测试用例编程软件、测试用例数据管理软件、测试实例数据接收软件、测试实例架构软件、测试实例数据发送软件以及接口驱动软件等,负责模式设置、数据发送、接收、处理及导出等各种操作,并且与信号处理系统进行通信,对整个测试过程进行控制。

信号处理系统包含了一个多功能接口系统板和一个信号调理板,主要完成对被测设备连接的信号调理、处理,信息采集,激励信号产生等任务,接口适配器负责与被测设备连接。

区别于分体式设计,本文采用一体式结构设计,将主控计算机、信号处理系统以及接口适配器集成到同一个工控机箱中,重量较轻、便于携带。软件测试设备总体设计框图见图1。

通用化便携式软件测试设备的工作原理包括以下几部分:

1) 搭建测试环境。建立测试设备与被测件之间的仿真交联环境,依据通信协议配置硬件接口与软件通信协议和时序逻辑,为后续的软件测试提供仿真测试环境。

2) 确定测试项目。根据软件测试需求,明确软件测试项目,然后通过编辑测试用例,加载到“实时测试系统”中进行实时测试,驱动仿真模型的运行,从而实现与被测设备的数据交互。

3) 进行测试。对测试结果数据进行查看。通过对获得的数据进行分析,判定被测设备软件是否符合软件测试需求。

2 硬件设计

军用武器系统装备复杂,一个系统通常包含多个不同的部件,而一个部件又往往与多个不同的部件相关联。因此,测试设备要能够与多个不同外部设备相关联。这就要求软件测试设备的硬件具有一定的通用性。

本文通过对以往惯性导航装置、伺服控制装置以及发控装置软件测试中使用的硬件接口进行整理, 归纳出如下接口(见图2) 。如果一个软件测试设备可以集结上述硬件接口,由用户根据需求进行相应的配置,那么这个测试设备就具有一定的通用性。

根据通用性的要求,软件测试设备配置了RS422 串口、ARINC429 串口、AD接口以及DA接口等,具体情况见表1。用户可以根据软件测试需要选择相应的硬件接口并且对接口通讯进行设置。此外,测试设备还预留了卡槽,方便用户根据实际情况对设备硬件资源进行扩展,以适应不同的测试需求。

以RS422端口为例,考虑到不同被测设备端口数量的不同,测试系统包含了8 路普通接口(422-1~422-7) 可以发送以及3路专用串口(422-9~422-11) 只用于发送,用户可以根据需要决定通道使能。同时,用户也可以对串口的波特率、校验方式(无校验、偶校验和奇校验)以及串口发送周期进行设定。

3 软件设计

作为整个便携式软件测试系统的重要组成部分,软件设计的好坏直接关系到整个测试系统的测试性能以及软件测试流程的顺利进行。考虑到软件设计的可靠性与可维护性原则,本文选用LabView作为软件开发平台,它具有开发便利、可以快捷进行协议配置和通信逻辑配置等优点。软件设计分为通信协议设计和时序逻辑设计两大块。

3.1 通信协议设计

软件测试系统的通用性主要体现在通信协议可配置。 传统专用测试设备的通信协议通常是根据项目进行定制,与测试设备直接关联,无法更改。如果在产品的研发过程中通信协议发生变化,则需要重新编译并与测试设备进行链接。这就会增加软件的开发时间,成本很高。

与传统专用测试设备不同,本文提出的软件测试系统提供了协议配置项的管理功能。协议配置项可供软件配置加载也可供结果数据的解析使用。协议配置项是某个具体的协议,可由用户手动输入。用户可以对测试设备参数配置表中的协议配置项进行编辑、删除、修改与新建。每个协议配置项都有一个唯一的名称。

协议配置项由若干字段组成,每个字段都可以设置长度(单位:字节)、最大值、最小值、比例尺等。同时,用户可以指定协议的长度、采取的是大端法还是小端法。

3.2 时序逻辑设计

时序逻辑是整个软件的核心功能,时序逻辑配置完成了信息交互的个性化定制,使得测试设备能够满足不同测试任务的测试需求,大大增强了测试设备的通用性。

在软件测试过程中,外部设备与被测件之间通过报文进行信息交互,而外部设备不同报文的发送是通过时序和事件节点触发的。

根据触发条件的不同,时序逻辑配置可以分为以下三类(见图3) :

1) 时序节点触发:外部设备在设定好的一段时间后发送报文;

2) 事件节点触发:外部设备在收到被测件的报文并按相应协议解析后,按照一定的规则选择报文并发送;

3) 时序和事件双重节点触发:在同时满足时序和事件的条件下触发。

软件配置决定了发送报文的时序和逻辑结构,但并不指定具体的报文,具体的报文在测试用例中添加。

4 测试流程

通用化便携式软件测试设备的测试流程包括了五部分:搭建测试环境、进行协议配置、新建测试项目和测试用例、执行测试用例、查看测试结果。本文以某惯性导航装置软件的测试为例,描述软件测试设备的测试流程:

1) 首先建立测试设备与被测设备之间的仿真交联环境(见图4) 。惯性导航装置(被测件)外部硬件环境包括5路RS422串行接口、6路TTL电平以及两路电源(一路设置为±15V,一路设置为5V) 。

2) 对测试设备与被测件(惯性导航装置)之间通信协议进行配置。具体为将5路RS422串口信号、6 路TTL电平(脉冲输出),按照通信协议内容,进行相应参数设置。

以其中3路RS422上的通信协议配置为例。被测件上电后,以2.5ms为周期,通过3路RS422向测试设备发送命令0xb1;测试设备收到命令0xb1后,通过3 路RS422向被测件回送报文a(周期为2.5ms) 。3路RS422上的报文传递如图5所示。

3) 新建测试项目和测试用例。根据测试需求分析,建立测试项目。测试设备可以新建、编辑、删除、修改测试项目和测试用例,每个测试项目和测试用例都有一个唯一的标识。在测试用例编辑界面(见图6) ,可以加载之前设置的硬件配置项和软件配置项;若所需的硬件配置项、软件配置项不存在,也可以手动设置,并将设置好的配置项保存到数据库中,供后续测试用例重复使用。

4) 执行测试用例。所有设置完毕后,给被测设备上电,开始运行测试用例。通过日志可以实时查看报文的交互过程。

5) 查看测试结果。测试用例执行完毕后,对获得的数据进行分析,判定被测件是否达到了预期的测试目的。

目前,本发明一种通用化便携式软件测试设备,已成功地应用到某型号的弹载计算机和惯性导航装置软件的测试过程中。与传统的专用软件测试设备相比,本发明提出的技术方案中建立了多种不同类别的硬件接口,用户可以通过选择不同的硬件接口来模拟与不同被测设备之间的仿真交联环境,可以充分利用硬件资源,节约研制成本,具有一定的通用性。同时,软件测试设备与被测设备之间硬件以及通信协议均可以进行配置,方便用户根据测试依据进行修改。此外,该测试设备具有很好的可扩展性,平台硬件和通用测试模块均可以根据实际情况进行扩展,以适应未来的测试需求。

5 结束语

本文介绍了一种应用于导弹武器系统的通用化便携式软件测试设备。用户可以通过搭建被测件与测试设备之间的仿真交联环境,配置硬件接口与软件通信协议和时序逻辑,从而实现对被测件的软件测试。区别于传统的专用软件测试设备,该测试设备能够迁移应用于多个不同的军用软件测试项目,具有一定的通用性。另一方面,测试设备搭建环境简便快捷,能够满足当前军用软件研制快节奏的要求。