无人飞行器任务规划系统软件测试方法研究*

2023-12-11 12:11孙文川吴延军聂炽岩
舰船电子工程 2023年9期
关键词:航路软件测试飞行器

孙文川 吴延军 聂炽岩

(91550部队 大连 116023)

1 引言

随着现代武器装备信息化水平的飞速提升和计算机硬件可靠性水平的提高,装备的智能化水平主要通过软件的设计进行体现[1]。现代战争中,无人作战装备的任务规划系统是连接作战指挥和武器装备应用的纽带。其使用贯穿于武器参与作战的全作战周期,已逐渐成为表达作战意图、发挥武器效能和影响战场态势的关键技术手段[2~3]。据统计,目前我国装备系统中约2/3 的失效是由软件错误引起的[4]。

本文对任务规划系统软件测试工作中的关键问题进行研究,立足无人飞行器任务规划系统软件功能性能特点,探讨定型阶段软件测试工作的关键问题,并提出有针对性的软件测试策略,研究结果可为任务规划系统进行全面、规范化的试验考核提供支撑。

2 软件质量与航天软件测试

2.1 软件质量

软件质量主要涵盖以下三个方面内容:1)与所确定的功能和性能需求相一致;2)与所成文的开发标准相一致;3)与所有专业开发的软件所期望的隐含特性相一致[5~6]。

在武器装备软件开发过程中,软件开发的各个阶段均同步进行着软件测试工作,主要包括代码走查、单元测试、软件集成测试、软/硬件系统测试、验收测试等内容[1]。航天软件不同于商用软件,对其质量的评定除要涵盖通常对软件质量定义所包含的内容外,还必须要保证软件的功能实现能充分满足未来作战使用需求、有利于提高武器装备作战的效能。因此,航天软件测试工作具有一定的特殊性。

2.2 航天软件测试现状

现役武器装备软件在研制阶段的测试目的是确保软件各项技术指标可以达到预先的设计指标要求。其测试重点在软件本身存在的故障特性,而并不关注软件实现形式对装备实际作战效能的影响。即通过软件测试不能保证装备具有较高的作战效能[7~9]。从军方使用者角度分析,软件技术测试合格的武器系统并不意味着其能够满足实际作战使用的要求。根本原因是研制阶段的软件测试忽略了对于装备软件至关重要的软硬件配置拟合度和战术合理性等非技术性指标的考核[10]。前IBM 系统研究院高级研究员Glenford J.Myer在其著作中阐述了“当程序无法实现其最终用户要求的合理功能时,就发生了一个软件错误。”观点[11]。例如,软件设计需求过程中要求航路规划软件在飞行过程中,可实现备选航路切换功能,但软件开发过程中没有实现机器对备选航路进行自动筛选,只能通过操作人员目视进行可用航路筛选。这一设计虽然满足了设计指标要求,但大大增加了操作人员的工作量,增加误操作风险的同时,大大降低了任务的执行效率。

综上所述,要解决航天软件开发过程中只关注指标实现,不重视软件整体效能的问题,就要在定型试验阶段针对软件使用特点对软件关键功能进行测试,形成有益于提高软件的人机交互能力、软件质量和作战适用性的修改建议,从而提高武器装备作战效能。

3 任务规划系统软件特点分析

各模块的功能及软件特点分析如下。

图1 任务规划系统软件组成结构图

3.1 数据种类多,数据量大

数据整编工作是任务规划系统开始运行的基础性工作,其各项功能实现的好坏直接影响着任务规划作业中底层数据的质量。此外,由于数据整编属于常态化工作,要求该子系统具备较高的可靠性和较强的数据保护能力,以避免突发的系统故障对已完成的阶段性工作造成损坏。

3.2 外部接口复杂,信息集中,处理效率高

任务筹划子系统在开展飞行任务筹划筹划、规避区域划分、组织电子通信协同的过程中。因为需要对各种外部资源进行协调和管理。任务筹划子系统在设计中,存在与多个外部系统间的软件接口。任务筹划作为无人飞行器任务规划的一个重要环节,其系统对数据的处理效率也将对整个系统的效能产生直接影响。

3.3 航路规划过程灵活,飞行控制实时性强

飞行规划子系统将飞行器的机动性能、动力航程与任务筹划子系统下达的飞行任务进行结合,按批次对飞行器的飞行航路进行规划。该系统形成的航路规划结果直接用于引导无人飞行器飞行路径。因此,要求规划的航路既要满足一定的安全性要求,还要保证具有较高的规划效率。如顾及飞行器飞行过程中人在回路的干预,航路规划结果还要具备较强的灵活性。

3.4 算法复杂,智能化水平突出

推演评估子系统主要实现对初步形成的飞行方案进行仿真推演,进行作战效果计算与评估。该子系统主要实现对方案的推演功能,其系统核心是针对毁伤评估、方案推演和辅助决策功能进行设计的算法,较之其他子系统,具有更高的技术要求。随着人工智能技术的应用,该模块呈现出的智能化特点将进一步增强。

3.5 模块间协调性要求高

如图2所示,为任务规划系统运行流程图,数据整编系统为任务规划流程提供基础持续的数据保障。任务筹划子系统完成任务筹划后,将筹划结果下发至飞行规划子系统;飞行规划子系统将任务分解,对飞行器飞行航路进行规划,飞行器起飞前,规划成果通过推演评估子系统对任务进行模拟推演进而将推演结果反馈给任务筹划子系统进行方案的迭代优化。以此循环迭代,直至任务完成。

图2 任务规划系统运行流程图

综上所述,基于对任务规划系统功能和运行流程的分析,可知其具备以下几个特点:1)数据处理种类繁多、数据量大、覆盖范围广,数据处理具有多任务并行特点;2)任务筹划系统具有外接口多、数据种类多、处理量大,数据流集中的特点;3)航路规划过程具有较强的灵活性,对软件可靠性要求高,人在回路操作对软件实时性要求较高;4)推演评估子系统智能化程度突出,涉及算法复杂多样;5)任务规划流程环环相扣,各系统衔接紧密,要求软件系统内部接口具有高效的协调性。

4 定型阶段软件测试工作中的关键问题

经过开发阶段的软件测试,软件技术指标已得到基本验证。定型阶段的软件测试工作将重点关注软件对系统效能的影响。基于对任务规划系统软件特点的分析,对其定型阶段软件测试工作关键问题进行探讨,以期提出有针对性的软件测试策略。

4.1 分析研制阶段软件测试报告,评估定型阶段测试重点

“二八定律”由意大利经济学家维弗雷多·帕累托在19世纪末提出,意思是“80%的结果是由20%的时间创造的”。其主张处理事务时应分析形势,抓住主要矛盾进行处理,就会达到事半功倍的效果。二八原则在数百年的应用中取得了巨大的成功[13~15]。同样的规律存在于软件开发过程中。相关研究表明:软件缺陷分布同样满足二八原则,即百分之八十的缺陷集中分布在百分之二十的软件模块中[16~17]。因此,在定型阶段,通过对研制阶段软件测试报告集进行分析评估,可以实现对测试重点的预测。预测方法可根据软件特点进行有针对性的选取。可采用贝叶斯、决策树、集成学习、神经网络、支持向量机、逻辑回归及字典学习等机器学习方法也可以采用朴素的统计学方法[18]。

4.2 顾及边界条件的功能组合测试设计

任务规划系统的软件特点,对其边界条件考核涉及以下几个主要参数:

1)航程参数

(1)规划航程:系统软件可进行航路规划的图上距离。

(2)机动航程:无人飞行器可实际飞行的三维路径。

2)机动性能

机动性能指任务规划系统是否可以最大限度的将飞行器的机动能力在规划中体现。主要包括转弯半径、爬升速度、飞行高度等。

3)航路数量

一次规划任务中可实现的航路规划数量。

4)航路点属性

不同类型的航路点完成的飞行任务,包括飞行爬升、下降,转弯等功能及其对应的数量。

5)地图操作范围

不同尺度范围下的地图数据操作能力。

何谓小说家?毕飞宇有个有趣的说法,他说小说家就是身体倍儿棒的人,他的眼力好,旁人能看厘米,他能看毫米;旁人能听十米,他能听一里;旁人能辨五味,他能辨千滋百味。他说的是莫言,是作家那超人的感受力。不过,黄金明并不是莫言式的作家,他不是那种用身体写作的人,他是用思想写作的小说家。他没有用耳目口鼻让世界变得五光十色、五味杂陈万花筒般旋转起来,但他始终探索一种必须用宏大的思想坐标和敏锐的心智结构才能理解的先锋性十足的智性小说。

顾及对软件功能测试的覆盖性,以上参数值的上下界,均应作为测试用例设计过程中的组成要素。不同于商用软件测试工作对测试效率的追求,航天软件测试更关注提高测试覆盖性和软件质量。因此,在考核边界条件的功能组合测试设计过程中,在人力和时间允许的条件下应尽量增加测试用例的覆盖性。如图3所示,为航路点数量与航程两要素组合下的边界值测试用例设计,为提高软件测试效率,软件开发阶段测试通常只对图中白色点对应的的测试用例进行测试,而忽略了两个因素同时在参数边界附近变化的组合情况(黑色点对应的)。而在实际使用过程中,往往此类测试用例会造成系统出现异常。

图3 样本覆盖缺失及其测试用例分析

图4 基于因果图的边界组合测试用例设计

为避免此类问题发生,建议在测试用例设计过程中采用基于因果图的边界组合测试方法[19]。该方法可以有效实现对边界条件组合的测试用例全覆盖,避免样本覆盖缺失的失误发生。

4.3 基于任务剖面的软件性能测试设计原则

通过对任务规划系统软件特点分析可知,航天软件系统的可靠性和对事件的响应效率对武器系统的作战使用至关重要,直接影响着装备效能的发挥。因此,通过设计典型使用场景下的任务剖面,将复杂的功能模块进行有机融合,可实现对系统进行全流程、全要素的功能验证。针对任务规划系统软件特点提出以下软件测试任务剖面设计原则:

1)突出功能测试重点

基于前期对任务规划软件测试重点的评估,对软件的重点测试模块进行定位,在任务剖面设计过程中,尽可能遍历重点测试模块的各项功能。

2)多层次分解测试软件功能

任务规划软件系统具有构成复杂的特点,各大子系统均由多个功能模块构成,因此,在其任务剖面设计过程中,应按照模块级、子系统级和任务级三个不同层次设计任务剖面。

针对任务规划软件系统与外系统接口复杂的问题,任务剖面设计过程中,应顾及对各个外部接口有效性的验证,该部分内容可结合全任务流程设计进行。

4)覆盖任务规划全流程

任务剖面作为对系统功能全面的验证,其内容必须涵盖对任务规划的全流程的设计,即规划从上级下达的规划任务输入开始,完成相应的信息准备工作,到规划出无人飞行器航路作为阶段性成果,末端延伸至飞行过程中对武器的管控。此外,设计过程中还应考虑规划时间、规划空间和规划尺度等要素的融入。

5)完备的标准测试数据集

飞行器的任务规划流程依据作战区域保障信息进行。因此,任务规划系统软件测试过程中,为保证系统对各类保障数据的适应额能力,在进行测试数据准备时,必须充分考虑标准测试数据集的覆盖性。以地理信息保障数据的准备为例,应考虑其对不同数据格式、不同尺度、不同地形地貌、不同经纬度等分类差异的覆盖性和多样性。此外,还需准备存在数据结构损坏、数据不完整等的缺陷数据集,用来验证系统对输入错误数据辨识的有效性。

5 结语

针对任务规划系统软件测试问题,在分析了任务规划系统软件特点的基础上,针对定型阶段软件测试工作中的关键问题进行研究。分别针对鉴定阶段软件测试重点评估、功能组合测试设计和性能测试方法进行研究,提出了基于功能验证的任务剖面设计原则,为无人飞行器任务规划系统鉴定阶段软件测试工作提供了参考。

猜你喜欢
航路软件测试飞行器
高超声速飞行器
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
复杂飞行器的容错控制
关于软件测试技术应用与发展趋势研究
基于交叉航路影响的航路容量模型研究
软件测试工程化模型及应用研究
应召反潜时无人机监听航路的规划
托勒密世界地图与新航路的开辟
神秘的飞行器