APP下载

北斗用户机软件测试

2016-11-04华,吴强,张

测绘科学与工程 2016年1期
关键词:机软件软件测试代码

王 华,吴 强,张 侹

1. 西安测绘研究所,陕西 西安,710054;2. 地理信息工程国家重点实验室,陕西 西安,710054



北斗用户机软件测试

王华1,2,吴强1,2,张侹1,2

1. 西安测绘研究所,陕西 西安,710054;2. 地理信息工程国家重点实验室,陕西 西安,710054

软件测试是提高北斗用户机软件质量,确保北斗用户机装备质量的重要手段。本文在概述北斗用户机软硬件和接口的基础上,从测试范围、测试级别、测试类型、测试环境、测试策略、测试流程等方面对北斗用户机软件测试进行了介绍,提出了基于北斗信号模拟源的半实物仿真测试技术、基于原始采集信号的性能测试技术和基于正交试验法的测试场景生成技术等关键技术,并就测试进场条件审查、测试需求确定和测试期间软件管理等问题进行了探讨。

北斗用户机; 软件测试; 半实物仿真; 正交试验法

1 引 言

随着我国北斗卫星导航定位系统的不断发展,北斗用户机在国防、交通、电力、渔业、消费电子等领域得到了广泛的应用,对提升国防安全和推动经济发展起到了重要作用[1]。但是,由于我国北斗产业发展不够健全以及长期以来缺乏对产品质量和用户体验的关注,北斗用户机在使用过程中还存在可靠性不高、人机交互不友好、操作不便、性能不稳定等诸多问题。通过对北斗用户机软件进行测试,检查与软件相关的北斗用户机功能、性能等技术指标的实现情况,有助于发现软件中潜在的各种缺陷,尽可能地改进、完善软件代码,不断提高软件质量,确保北斗用户机装备质量。

2 北斗用户机概述

2.1系统组成

北斗用户机通常包括下位机和上位机,如图1所示。下位机由天线、射频单元、基带信号处理单元和信息处理单元组成。天线进行射频信号的接收和发送;射频单元进行射频信号的放大、滤波、上/下变频和数模/模数转换;基带信号处理单元主要对中频采样数据进行捕获、跟踪和伪距测量值、载波相位测量值、载波多普勒等原始测量值以及导航电文的输出;信息处理单元主要进行原始测量值处理、导航电文解析和定位解算等。上位机主要为显控单元, 用于为用户提供人机交互

界面,主要完成各种信息的显示和导航、指挥、控制等功能。

图1 北斗用户机系统组成

北斗用户机从功能上可以分为导航型、定时型、指挥型、测量型。不同类型用户机的下位机基本相同,区别是有的用户机为单模(RNSS),有的用户机为双模(RNSS和RDSS);上位机则根据不同的用途采用不同的软硬件设计。北斗用户机软件主要包括下位机的信号处理软件、信息处理软件和上位机软件,如图2所示。信号处理软件运行于基带信号处理单元,主要完成信号捕获、跟踪、观测量输出等功能,其硬件通常基于专用ASIC芯片;信息处理软件运行于信息处理单元,主要完成捕获控制、观测量获取、电文解析、定位解算、RAIM、接口协议处理等功能,其硬件通常基于DSP芯片或ARM芯片;上位机软件包括导航型用户机的导航软件、定时型用户机的显控软件、指挥型用户机的指挥软件以及测量型用户机的测量软件,主要完成路径规划和导航、时间显示控制、态势监控和指挥调度以及测量等专用功能,其硬件通常基于ARM芯片或通用CPU。

图2 北斗用户机软件组成

2.2软件接口

北斗用户机软件接口如图3所示,包括以下接口:

●下位机软件和北斗二号系统空间段接口:包括RDSS接口和RNSS接口,RDSS接口主要进行出入站信息的接收和发送,RNSS接口主要接收RNSS导航电文信息;

●下位机软件和PRM模块接口:主要发送原始导航电文,并接收格式转换后的导航电文和精密测距码等信息;

●下位机软件和保密模块接口:主要发送需加解密的RDSS信息和加密RNSS导航电文等信息,并接收RDSS用户信息、已加密RDSS信息和已解密RNSS导航电文等信息;

●下位机软件和加注设备接口:主要发送加注信息,并接收应答信息;

●下位机软件和外部计算机接口:包括串口和USB两种形式,通过串口主要向外发送卫星信息、定位信息、导航信息等信息,并接收定位申请、通信信息以及各种设置信息,通过USB接口主要进行地图数据的导入、导出;

●下位机软件和导航软件接口:信息处理软件和外部计算机之间的串口。

图3 北斗用户机软件接口

3 北斗用户机软件测试

3.1测试范围、测试级别和测试类型

从北斗用户机发展现状来看,基带信号处理单元已完全芯片化,信号处理软件的功能、性能则完全由专用ASIC硬件实现,因此,北斗用户机软件测试主要针对信息处理软件和上位机软件。根据北斗用户机软件组成和应用特点,一般需进行配置项测试和系统级测试。测试类型通常包括文档审查、代码审查、静态分析、功能测试、接口测试、人机交互界面测试、性能测试,根据实际情况和具体要求还可进行代码走查、余量测试、容量测试、强度测试、安全性测试等测试。

3.2测试环境

北斗用户机软件测试环境如图4所示,包括被测北斗用户机、北斗信号模拟源、北斗信号采集回放设备、测试计算机、测试中间件、测试管理计算机和测量设备。被测北斗用户机为北斗用户机软件运行的实际环境;北斗信号模拟源和北斗信号采集回放设备能够为被测北斗用户机提供仿真信号和真实信号的回放,便于在实验室中对北斗用户机软件进行测试;测试计算机主要用于对北斗用户机软件进行黑盒测试和白盒测试, 黑盒测

试计算机为北斗信号采集回放设备提供采集的样本数据,并为北斗信号模拟源提供数据仿真和仿真控制,同时通过采集北斗用户机的输出数据进行性能评估,白盒测试计算机则通过集成开发环境和白盒测试工具、性能测试工具等对北斗用户机软件进行测试,包括静态测试和动态测试;测试中间件(如:Trace32仿真器)用于支持北斗用户机软件的白盒动态测试;测试管理计算机用于对测试的整个过程进行规范化管理;测量设备主要对北斗用户机的各种信号进行监测和测量。

图4 北斗用户机软件测试环境

3.3测试策略

(1)静态测试

静态测试主要进行文档审查、代码审查、静态分析和代码走查。

文档审查主要依据文档审查单对软件需求规格说明和软件用户手册进行人工审查,重点审查文档内容的完整性、一致性、准确性、规范性、直观性、易理解性,以及功能需求和性能需求是否覆盖技术指标要求。

代码审查采用人工审查和测试工具结合的方式,依据代码审查单对软件代码和设计的一致性、代码编码的规范性、代码逻辑表达的正确性、代码结构的合理性以及代码的可读性进行审查。

静态分析主要采用白盒测试工具对软件代码进行控制流分析、数据流分析、接口分析和表达式分析。

代码走查由测试人员和开发人员组成代码走查小组依据软件需求规格说明和软件设计说明对软件代码进行逐行分析。北斗用户机软件代码走查主要进行代码流程走查和代码功能走查。代码流程走查是对整个代码的工作流程以及各功能模块之间的调用关系进行走查;代码功能走查是对软件核心功能模块的具体实现进行走查,包括捕获策略、电文解析、观测量处理、PVT解算等功能模块。

(2)动态测试

动态测试主要进行功能测试、接口测试、人机交互界面测试、性能测试、安全性测试、余量测试、容量测试、强度测试等。

功能测试依据软件需求规格说明采用黑盒测试方法(包括功能分解、等价类划分、边界值分析、随机测试等)对正常、异常操作进行测试,要分别对触摸屏操作和键盘操作进行测试,确保两种操作方式均可正常工作。

接口测试依据北斗二号系统接口控制文件和各接口协议对空间段接口、PRM接口、保密模块接口、加注接口、串口和USB接口进行测试。一方面采用白盒测试方法仔细核查代码中接口处理部分对接口控制文件和接口协议的符合性,另一方面采用仿真的正常和异常接口数据对接口进行黑盒测试。测试时应将上位机软件和下位机软件分开,独立进行测试。

人机交互界面测试主要依据北斗用户机软件界面设计规范和软件用户手册测试软件人机交互界面的规范性、完整性、一致性、合理性和友好性。人机交互界面测试可与功能测试结合进行,但要有所区别。功能测试主要测试功能是否正确实现,而人机交互界面测试则主要测试软件界面是否正确实现以及实现的效果。

性能测试主要针对响应时间类(如查询响应时间、路径规划时间等)和容量类(如监控下属用户数、电文存储容量)指标进行测试。对于响应时间类指标,采用源代码插桩的方式进行测试,要在不同前提条件下进行测试(如不同地图数据量),而不仅仅是同一条件下的多次测试;对于容量类指标,采用仿真方式制备大量数据进行测试,仿真数据要符合真实数据的特点,具备多样性(如不同比例尺条件下的地形图、交通图等)和边界性要求等,而不应是单一数据的简单复制。

安全性测试主要是对用户机软件的安全保密措施进行测试,主要包括密码保护、自锁、管理信息、口令识别、静默、抑制、自毁等,既要确保安全保密措施正确有效,又要对用户进行友好提示和指示,防止错误操作造成损失。

余量测试主要是对性能指标的余量进行测试,如无明确要求,一般至少留有20%的余量;容量测试主要测试容量类指标的最大能力;强度测试则是在软件运行在极限状态下检验软件的运行状态,如长时间连续拷机测试,最高定位频度下软件能否正常工作。

3.4测试流程

北斗用户机软件测试流程如下:

(1)环境构建:按照不同测试对象、测试级别、测试类型,结合测试工具、仿真设备等,构建相应的测试环境,如:白盒测试环境、半实物仿真测试环境等;

(2)数据准备:根据软件的接口要求和测试要求,准备相关测试数据,包括真实数据和仿真数据;

(3)测试执行:按照测试说明执行测试用例,通常按照先静态后动态、先白盒后黑盒、先功能后性能、先配置项级后系统级的顺序进行测试;

(4)测试评估:收集并综合分析测试执行的输出数据,对软件的功能、接口、性能、安全性等进行评估以及对软件质量进行评价。

北斗用户机软件测试流程如图5所示。

图5 北斗用户机软件测试流程

4 关键技术

4.1基于北斗信号模拟源的半实物仿真测试技术

半实物仿真测试技术是一种介于全数字和全实物之间的测试技术,具有全实物测试系统的真实性和全数字仿真测试系统的灵活性[2]。在半实物仿真测试系统中,被测软件运行在目标机中,保证了被测软件运行环境的真实性;与目标机连接的其他设备则通过硬件模拟器实现,能够真实地模拟被测软件运行所需的外围物理环境,并且能够灵活设置被测软件的输入,记录被测软件的输出结果。

北斗用户机软件测试构建了基于北斗信号模拟源的半实物仿真测试环境,软件运行在真实的北斗用户机上,而其接收的卫星导航信号则由北斗信号模拟源仿真生成。由于在模拟源中可以对仿真时间、可见卫星、卫星分布、信号功率、用户位置、用户轨迹、用户动态、电离层延迟、对流层延迟、信号多径等要素进行灵活的设置[3],因此可以快速方便地生成各种正常和异常测试场景,包括各种极端和边界情况,从而保证测试的充分性。另外,通过采集北斗用户机的输出数据和北斗信号模拟源的仿真数据进行对比分析,还可以对与北斗用户机软件相关的定位精度、测速精度、捕获时间等指标进行评估。

相比在真实环境下进行测试,基于北斗信号模拟源的半实物仿真测试具有简单方便、快速有效、覆盖全面、可重复、成本低等优点。

4.2基于原始采集信号的性能测试技术

采用北斗信号模拟源可以有效地对北斗用户机软件进行功能测试,也可以较为方便地对定位精度、测速精度等性能指标进行测试。但是由于北斗用户机的真实使用环境复杂多样,北斗信号模拟源很难准确模拟,特别是对于城市峡谷、森林等遮挡环境下不断运动的用户,因此,采用北斗信号模拟源测试得出的定位精度、测速精度等指标并不能完全反映北斗用户机的真实性能。

对此,我们采用北斗信号采集回放设备采集多种典型环境下的北斗原始信号,将其下变频为中频采样信号进行实时存储,同时采用高精度RTK设备记录用户位置、速度等信息。然后在实验室中将采集到的中频采样数据进行回放,待测的北斗用户机接收回放的射频信号进行定位解算,通过和高精度RTK设备记录的用户位置、速度等信息进行对比分析,对北斗用户机软件的定位精度、测速精度等性能指标进行评估。

基于北斗原始采集信号对北斗用户机软件进行性能测试能够克服北斗信号模拟源仿真模型不够准确的缺点,采集的数据可以进行重复测试,且对于所有待测用户机测试场景完全一致,避免了真实环境下测试的不可重复性。

4.3基于正交试验法的测试场景生成技术

如上节所述,基于北斗信号模拟源进行北斗用户机软件测试时,需要对仿真时间、可见卫星、卫星分布、信号功率、用户位置、用户轨迹、用户动态、电离层延迟、对流层延迟、信号多径等要素进行参数设置并组合形成不同的测试场景。由于这些要素数目较多,且每个要素均有多个状态,如果要对所有的组合都进行测试,将会造成测试用例爆炸,导致测试难以进行。为了解决这个问题,我们采用基于正交试验法的测试场景生成技术。

正交试验法是研究多因素、多水平的一种试验方法,它利用正交表来对试验进行设计,根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具有“均匀分散、整齐可比”的特点[4],通过较少的试验就可以取得较好的试验效果。针对北斗用户机软件测试,首先确定和测试相关的要素,然后采用等价类划分法选取各要素的水平,再根据要素和水平的个数选取正交表,最后对正交表进行合并裁剪得到最终的测试用例。

采用正交试验法进行测试用例生成,可以大大减少测试用例的数量,同时并不明显降低测试用例的有效性。

5 需要关注的几个问题

在北斗用户机软件测试中有以下几个问题值得关注:

(1)北斗用户机软件在测试前需满足测试进场条件

被测件和相关文档应完整齐备,一般必须具备软件可执行程序和软件需求规格说明、软件用户手册,必要时应提供软件源代码和软件设计说明等文档,且软件源代码应为完整工程文件,不能以保密为由将部分代码隐藏或以动态链接库形式提供;软件版本应固定,且为正式版本,包括系统版本和配置项版本,确保技术状态稳定;北斗用户机硬件平台应稳定可靠,以免测试过程中发生硬件故障,影响测试工作的正常进行。

(2)科学确定测试需求

测试需求分析阶段应科学、全面、充分地对软件进行分析[5],根据《军用软件产品定型管理办法》相关规定和北斗用户机的具体使用要求,确定北斗用户机软件测试的测试范围、测试级别、测试类型和测试内容。研制总要求往往只是规定北斗用户机的整机战技指标,粒度较粗,并不对其是硬件指标还是软件指标进行具体说明,这就要求我们对研制总要求进行深入分析和挖掘,从中提取出与软件相关的指标和隐含的软件测试需求。

(3)严格测试期间的软件管理

北斗用户机软件测试通常要进行两次回归测试,软件研制方人员在回归测试之前需要对软件进行修改,这期间软件往往是脱离于研制方的质量管理体系之外的,技术人员为了减少麻烦往往会自行修改完善后提交软件给测试方,比较随意,缺乏有效的质量监管,容易造成软件版本失控、提交软件和源代码不一致等问题。因此,研制方必须严格按照质量管理体系要求对软件进行出入库管理和版本控制。

6 结束语

本文在概述北斗用户机硬件、软件、接口的基础上,从测试范围、测试级别、测试类型、测试环境、测试策略、测试流程等方面对北斗用户机软件测试进行了介绍;为了提高北斗用户机软件测试的充分性、有效性和和解决测试用例爆炸问题,提出了基于北斗信号模拟源的半实物仿真测试技术、基于原始采集信号的性能测试技术和基于正交试验法的测试场景生成技术等关键技术,并就测试进场条件审查、测试需求确定和测试期间软件管理等问题进行了探讨,可为北斗用户机软件研发和测试提供一定借鉴和指导。

[1]谭树森. 北斗卫星导航系统的发展与思考[J]. 宇航学报, 2008, 29(2): 391-396.

[2]蔡建平. 嵌入式软件测试实用技术[M]. 北京: 清华大学出版社, 2010.

[3]王华. 北斗信号生成平台研究及其实现[D]. 南京: 理工大学, 2011.

[4]于秀山. 正交试验设计方法在测试用例设计中的应用[J]. 计算机工程与应用, 2004, 20(1): 62-63.[5]王峰. 军用软件定型测评大纲和报告编制与评审中应注意的事项[J]. 军用软件测评实验室, 2015(45): 1-6.

Software Testing on BeiDou Receiver

Wang Hua1,2, Wu Qiang1,2, Zhang Ting1,2

1. Xi’an Research Institute of Surveying and Mapping, Xi’an 710054, China 2. State Key Laboratory of Geo-information Engineering, Xi’an 710054, China

Software testing is an important way to improve BeiDou receiver software quality and ensure the equipment quality. Based on an overview of BeiDou receiver software and hardware interface, the receiver software testing is introduced from aspects of the range, level, types, environment, strategy, process and so on. Several key technologies are proposed including the semi-physical simulation test technology based on Beidou signal simulator, the performance test technology based on original signal sampling, and the test scenario generation technology based on orthogonal test method. Finally, discussions are conducted on test entry condition examination, test requirement determination, software management and other issues.

BeiDou receiver; software testing; semi-physical simulation; orthogonal test method

2015-09-08。

王华(1985—),男,工程师,主要从事软件测评研究。

TP311.5

A

猜你喜欢

机软件软件测试代码
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
创世代码
创世代码
创世代码
创世代码
EXCEL和VBA实现软件测试记录管理
软件测试工程化模型及应用研究
道岔监测系统上位机软件设计
基于正交试验法的北斗用户机软件测试用例设计