张蕾 周敏刚
摘 要:搭建高逼真度的仿真环境,对无线电高度表软件的功能和性能指标进行考核验证,设计无线电高度表功能的测试用例,通过软件测试发现功能缺陷和软件隐患。可提高软件配置项和系统测试的效率,有利于配置模拟不同故障模态、提高测试的充分性和有效性。
关键词:无线电高度表;配置项测试;仿真环境
无线电高度表,测量飞机到地面垂直距离的重要机载设备,它测量的高度是飞机距离地面的真是高度、它能在各种气候条件下精确测量飞机距离地面或海面的相对高度,高度探测能力是无线电高度表的主要能力,通常指无线电高度表探测范围和精度。
无线电高度表采取软件与硬件相结合的开发方式,系统的主要功能实现都在软件功能模块中。软件测评是从不同角度,用不同方法,对系统指标要求进行考核验证,本文提出基于仿真环境的软件测试方法,研究同一系列无线电高度表软件探测能力指标测试方法,通过软件测试发现系统缺陷和软件隐患。
1 测试对象分析
以某无线电高度表软件作为测试对象开展测试方法研究。驻留在无线电高度表接口板CPU上的高度表软件,将从高度表时间/数码板读取来的15位并行码高度数字信号分别转换为1553B串行数字信号和RS-422串行数字信号,并响应1553B总线命令。响应的命令包括环绕命令、非法命令及十种方式命令(不带字同步、带字同步、发送状态字、启动自检、取自检结果、发送器关闭、取消发送器关闭、复位远程终端、发送矢量字、发送上一命令)。
另外,还根据高度信息,控制高度表三路跳闸信号。该高度表的高度数据分辨率为0.5米,1553B总线高度数据刷新周期为50ms。高度表软件的结构如图1所示。
此软件要控制接口板实现下述功能:
1)经GJB289A-97多路数据总线(以下简称1553B总线)以数字形式输出高度测量数据和其它数字数据信息;
2)经RS-422接口以数字形式输出高度测量数据;
3)经离散线送出3路跳闸信号;
4)实现高度表加电自检和启动自检的功能。
高度表软件包含1个主程序和2个中断程序:主程序包括芯片初始化、自检、读取时间数码板送来的并行高度信息进行数据处理、根据高度信息控制高度表产生3路跳闸信号;中断程序包括1553B中断、RS-422中断。
2 测试环境建立
测试环境由无线电高度表、总线控制(BC)仿真环境和高度表综合检测仪构成。利用检测仪为高度表提供各种模态的高度数据和供电,并且利用检测仪检测验证高度表的422信号输出和跳闸信号输出,利用BC仿真环境产生模拟1553B总线命令和检测相应高度表的1553B输出信号。
测试环境总体部署如图2所示。
3 测试方法说明
基于模拟环境的软件测试方法,采用功能分解法,按照无线电高度表功能和使用,制定测试项目和内容。设计测试用例。以模拟数据驱动无线电高度表软件运行,对软件进行功能和模态测试。
3.1 测试环境的差异性分析和有效性
BC仿真环境安装在一台PC机上,用微机串口232与高度表(安装接口板)连接,通过模拟总线控制器BC向高度表接口板发送1553B总线命令,使高度表软件响应命令请求,完成1553B信号输出,并将输出结果返回PC机显示。高度表综合检测仪用电缆与高度表(安装接口板)连接,通过模拟高度表接口板的外部接口,包括模拟输入高度数据的接口、RS-422串行通讯(输出高度数据)接口、以及显示跳闸信号接口,向高度表接口板输入信号激励高度表软件运行,对其进行综合测试,并将运行结果通过这些接口回送给检测仪,供测试人员分析高度表软件运行的正确性。
高度表软件测试环境的输入和输出使用方法为:从高度表综合检测仪中输入高度数据值(十进制),并通过BC仿真环境模拟发送1553B总线命令;在高度表综合检测仪中观察RS-422串行通讯口输出(十进制)的高度数据值和显示的跳闸信号,以及PC机中显示的1553B信号输出(十六进制)结果是否同预期结果一致。
3.2 软件测试的原则
软件测试的目的是找到潜伏在软件中的错误,以保证和提高软件的质量。要想找出软件中的所有缺陷,确保软件完美无缺,是一种理想状态,选择合理的测试集就存在着一定的风险。测试过程中必须做好测试集选取和风险识别工作。
3.3 测试模态的选取
3.3.1响应十种方式命令
初始化PC机内1553B仿真卡,按照指定协议配置总线表、模拟机上BC功能,按照总线通通信协议向无线电高度表发送总线命令,分别测试高度表软件对十种不同命令响应功能是否正确;分别是“不带字同步”、 “启动自测试”、“复位远程终端”、“发送器关闭”、“发送状态字”、“取消发送器关闭”、“发送矢量字”、“带数据字的同步方式命令”、“发送上一命令”和“发送自检测字”方式命令。
3.3.2自检功能
通过高度表检测仪模拟不同情况的加电自检工况,分别选取以下测试点:高度表正常時加电自检、高度表故障时(高度值设为15m、64m)加电自检、高度表正常时周期自检、高度表故障时(高度值设为15m、64m)周期自检、高度表正常时启动自检、高度表故障时(高度值设为15m、64m)启动自检。
3.3.3经1553B总线周期输出高度数据
通过BC仿真器接收高度表不同状态下的周期测高状态、 数据处理、中断处理。分别设置以下测试点: 24m、768m、1000m、1500m、1800m、2000m、4096m、无效模拟高度数据、0m、6000m。
3.3.4经RS-422接口输出高度数据
通过高度表检测仪的RS422接口接收高度表不同状态下的周期测高状态、 数据处理、中断处理。分别设置以下测试点: 24m、768m、1000m、1500m、1800m、2000m、4096m、无效模拟高度数据、0m、6000m。
3.3.5跳闸功能
通过高度表检测仪经离散线接口接收高度表送出3路跳闸信号,分别设置以下测试点: 20m、50m、170m、2300m、无效模拟高度数据、30m、60m、200m。
3.3.6余量测试
测试满负荷情况下高度表内数据存储占用空间的数据,实测占用空间为5.61KB,满足占用空间余量≥20%要求。
3.3.7强度测试
检测判断高度表周期自检时间,要求50ms±2ms秒,测量5次周期控制时间均为50ms。加电自检时间要求是1分钟内成,实际测量5次时间分别为45s、47s、45s、48s、48s。
3.4 测试充分性分析
基于模拟环境的配置项级测试在测试需求分析阶段,测试方依据软件需求规格说明和测试人员识别的隐含需求,归纳出高度表软件配置项级测试项7项。测试设计与实现阶段依据测试需求分析阶段中确定的测试项,分别设计了测试用例概要表和详细表,共设计52个配置项级测试用例,覆盖各测试项所要求的测试类型及测试内容。这种自顶向下的测试需求分解,可以从软件需求规格说明一直追踪到测试用例,反之亦可追踪,从而保证了系统级测试的充分性。
3.5 测试差异和异常分析
在配置项测试中,测试方使用的测试环境与测试需求规格说明要求一致,在测试执行前,测试人员和开发方进行了测试环境确认,并就测试用例的适应性和可执行性进行了分析与再次确认,保证了测试用例的最大限度执行。在测试执行过程中,根据测试环境对测试用例的操作步骤进行了修改完善,保证了测试用例的正确性。
4 结语
基于模拟环境的软件测试,对无线电高度表软件的全部功能和工作流程进行测试,发现软件缺陷和高度表功能性能缺陷。通过搭建可配置的高逼真度载机模拟环境和飞机模拟环境,基于实际使用的典型数据模态设置测试用例,能对高度表软件以及系统功能进行功能验证和性能验证,同时只需调整配置接口协议和测试模态,该方法便可推广至该系列的高度表软件测试。
参考文献:
[1] 郭久武,陈策,等.装备软件定型测评的几个误区[J].军用软件测评实验室,2011(3):1-3.
[2] 张海藩.软件工程[M].北京:人民郵电出版社,2002:55-123.
[3] 郑人杰,许静,等.软件测试[M].北京:人民邮电出版社,2011:49-76.
[4] 齐欢,王小平.系统建模与仿真[M].北京:清华大学出版社,2004:3-10.
作者简介:张蕾(1979-),女,工程师,主要从事机载嵌入式软件测试技术的研究工作。