基于模型的无人机平台管理系统自动测试研究
2021-08-23刘存跃袁浩明邹雪璐
刘存跃,袁浩明,邹雪璐
(中国航空工业集团公司 成都飞机设计研究所,成都 610091)
0 引言
为了保证无人机平台的正常工作,其机载系统通常都有机电、环控、动力、液压等基础系统[1]。随着无人机处理器能力的提升,以及无人机综合化的设计思想[2],逐步取消了各基础系统的处理计算机,从而设计了平台管理系统作为无人机的公共管理资源,用于实现无人机的机电、环控、动力、液压等功能的综合管理[3-4]。
在现代战争中,无人机所面临的环境和任务执行复杂度逐渐提高[5],对于各分系统的功能要求变多,从而导致平台管理系统对无人机的综合管理逻辑愈发复杂[6],地面开发测试过程须对每条逻辑都进行测试验证[7]。此外,在平台管理系统研制过程中,外部需求、系统软件需经过多轮次的升级迭代,每次升级均需要对系统进行全面完整的测试。对于平台管理系统测试,传统测试方法一般采用手动方式,依次改变地面测试设备的激励信号,输出到平台管理系统完成逻辑测试。该方法每次仅能完成一条逻辑功能测试,耗时耗力,测试效率低下。因此,需要研究开发一种自动测试方法,以实现系统复杂逻辑的高效测试。
无人机自动测试的概念产生由来已久,在国内外的研究和工程中都进行了大量应用。Drozd等研制了无人机引擎的自动测试装置,通过标准高速板卡采集动力学参数进行自主判读,该装置仅是状态的单向采集[8]。Y.Liu等研制的基于虚拟仪器的无人机自动测试系统[9]、王怡苹等研制的仿整机自动测试系统[10],都只针对机载系统的电接口特性测试,不做逻辑和功能测试。罗秋凤等研制的飞控系统自动检测系统[11]、B.A.Li等研制的无人机整机自动测试系统[12],测试过程为单向一次激励,不适用于逻辑测试需要多次激励交互的场景。本文针对平台管理系统的功能逻辑测试,开发了一套地面测试设备及自动测试方法,适用于系统研制过程中的地面测试。本文的创新点在于将平台管理的控制对象进行模型化设计,测试设备软件与平台管理系统实现多次的信号自主激励、动态交互,用以完成复杂逻辑功能的自动测试。该测试设备及自动测试方法成功应用于某无人机型号研制,显著提高了测试效率,节省了测试时间。
1 系统模型设计
为了实现平台管理系统的逻辑功能测试,测试设备需要模拟所有被控对象。我们采用模型化的设计思路,用测试设备构造了各被控系统,如机电、环控、动力等系统的模型。被控系统模型由静态参数模型和动态行为模型组成[13]。
静态参数模型主要是各被控系统的输入、输出信号。由测试设备模拟的输入、输出信号静态特征与真实被测系统保持一致[14],典型的系统参数静态特征如表1所示。
表1 被控系统静态参数模型
动态行为模型指的是测试软件中模拟的各系统根据输入信号,如采集到的信号、接收到的指令,输出信号随时间自动地变化,其变化趋势也与真实被测系统保持一致。由于平台管理系统被控对象多,逻辑复杂,如按照每个系统、每条逻辑均设计不同的行为模型,其测试用例的编辑将会是一项巨大的工程。且由于被控对象的逻辑存在多轮次迭代的可能,所编辑的测试用例也需要随被控对象的逻辑变化而更改。为了简化测试用例的编辑难度,适应测试用例的升级,我们设计了一套通用的测试用例编辑工具。根据平台管理系统控制对象的特点,其动态行为模型可以总结为以下3类:
1)条件触发:满足相应的逻辑触发条件(大于、小于、等于、与、或、非等),测试系统即输出相应的信号;
2)延时触发:设置测试用例的基准时间,当满足时间条件后,测试系统输出的信号随时间规律变化(含线性、非线性);
3)条件和延时触发结合模式:满足相应的逻辑触发条件后,测试系统输出的信号随时间规律变化。
以上3类模式已覆盖了90%以上的测试用例编写要求。为了适用更加复杂的动态行为模型,如无人机的控制律算法,在动态行为模型编辑界面预留了编程接口。使用测试用例编辑工具生成的部分典型系统动态行为模型如表2所示。
表2 被控系统动态行为模型
2 测试设备设计
测试设备包含硬件和软件设计,其主要目的是能够方便地实现被测系统的模型建立。对于静态参数模型,其硬件基础是各接口板卡,并在驱动软件中对各接口进行物理定义;对于动态行为模型,主要是通过可以自动运行的测试用例实现。
2.1 测试设备硬件
测试设备硬件是建立系统模型的基础,为了方便测试设备的扩展,便于自动测试软件的开发,测试设备需进行通用化设计,具有“高内聚,低耦合”的特点[15],具体内涵包括:
1)设备硬件驱动与自动测试软件解耦合;
2)接口板卡与被测单元(UUT,unit under test)物理交联解耦合;
3)测试软件、接口板卡、接口交联均由独立模块实现。
测试设备主要由集成操控设备、集成综合测试设备、断线测试设备组成,其组成结构如图1所示。其中断线测试设备通过专用电缆与被测单元、集成综合测试设备交联,集成操控设备与集成综合测试设备通过以太网交联。各设备具体功能如下:
图1 测试设备硬件组成
1)集成操控设备:试验数据分析及图形显示平台,给试验操作人员提供操控界面及窗口,集成了自动测试软件;
2)集成综合测试设备:用于模拟被控系统的输入、输出信号。主要由工控机(实现接口控制)、接口板卡及驱动(含RS422接口、离散量输入/输出、模拟量输入/输出等)、显示单元等几大部分组成;
3)断线测试设备:实现测试设备与被测单元间的物理交联以及断线切换测试。
自动测试软件运行在集成操控设备上,仅需实现逻辑层面的软件开发,不涉及底层驱动,具有通用化、方便移植的优点,也便于测试软件的维护升级。
2.2 自动测试软件
自动测试软件将测试人员的逻辑思维转换成测试用例去描述。由于平台管理系统外部需求、系统软件需经过多轮次的升级迭代,其对应的测试用例也需持续更新完善。因此,自动测试软件作为测试用例的编辑工具,应具有通用性、灵活性的特点。同时,自动测试软件还能够实现测试用例的自动运行,支持测试任务的串行、并行执行,执行流程的条件判断、循环、变量定义与赋值等方式。
2.2.1 单节点自动测试
根据自动测试思路,设计了一个单节点的自动测试流程,如图2所示。该测试流程包含一条延时触发逻辑和条件触发逻辑,测试设备与平台管理系统实现自动测试的流程如下:
图2 单节点自动测试流程
1)自动测试用例开始运行后,延时ΔT时间,测试设备自动输出信号a给平台管理系统;
2)平台管理系统接收到信号a后,自主进行逻辑运算,根据运算结果输出信号b给测试设备;
3)测试设备接收到信号b后,进行条件判断,如满足测试用例中预设条件,输出信号c给平台管理系统;
4)平台管理系统接收到信号c后,自主进行逻辑运算,运算后输出信号d,完成该逻辑自动测试。
以上所有的测试均为自动运行,无需人工干预测试过程,仅需测试结束后进行结果判读。
2.2.2 多节点自动测试
对于平台管理系统复杂逻辑的测试,需要编辑复杂的测试用例。为简化测试用例编写,我们实现了多节点测试用例的组合。其基本思路是将已生成的单节点测试用例通过编辑工具进行用例组合,构成复杂逻辑的多节点测试用例,其组合的前提条件是所有的测试用例有统一的时间基准。同时,为了实现逻辑并发,开展性能测试,可以将不同的单节点测试用例设置在同一时间点激发。
以两个单节点测试用例组合为例,说明其测试过程。其测试流程如图3所示。
图3 多节点自动测试流程
1)基于统一的时间基准,分别设计两个单节点自动测试用例,两个用例按照顺序执行的方式合并,合并的自动测试用例循环执行;
2)自动测试用例开始运行后,先运行自动测试节点1,判断是否满足延时ΔT1或者触发条件1。如满足条件,则输出信号a到平台管理系统完成逻辑1测试,并进入自动测试节点2;如不满足条件,则直接进入自动测试节点2;
3)运行自动测试节点2,判断是否满足延时ΔT2或者触发条件2。如满足条件,则输出信号b到平台管理系统完成逻辑2测试,并跳回自动测试节点1循环测试;如不满足条件,则直接跳回自动测试节点1循环测试;
4)采用循环执行自动测试用例,可以保证每个自动测试节点均能执行,比如某个节点在当前循环中不满足延时条件不执行,在下一个循环中满足延时条件即可执行。
通过对简单测试用例的组合编排,实现了复杂测试用例的编写与自动测试。在一个测试过程中,可以对平台管理系统的逻辑进行覆盖性测试,达到性能测试的目的。
3 测试应用及效果
3.1 多通道电加热逻辑测试
无人机电加热逻辑测试是典型的多通道重复测试案例。如采用传统的手动测试方法,对于单个电加热通道,需手动设置多个温度值以检查平台管理系统的加热响应逻辑;此外,通常无人机的电加热通道有近一百路,每个加热通道均需测试,测试工作重复且繁琐。本文所采用的自动测试方法对于此种测试场景,能够极大地提高测试效率,减小测试人员的测试负担。
针对单个电加热通道,自动测试流程如图4所示。其中,平台管理系统电加热逻辑为:
图4 单通道电加热逻辑自动测试流程
1)当T<26 ℃,执行加热回路打开指令;
2)当T>28 ℃,执行加热回路关闭指令;
3)当26 ℃≤T≤28 ℃,加热回路指令保持原状态。
通过自动测试用例模拟的环控加热模型为:
1)设置输出初始温度为22 ℃;
2)接收到加热指令输出后,设置温度在当前值随时间线性增加;
3)未接收到加热指令输出后,设置温度在当前值随时间线性降低。
平台管理系统与测试用例的自动交互过程为:
1)测试设备与平台管理系统交互信号为:温度采集接口、指令输出接口;
2)测试设备、平台管理系统各自根据输入信号,经过逻辑运算后自动输出信号,实现自主交互。
测试数据自动保存,并进行数据分析判读,结果如图5所示。结果表明,加热指令逻辑执行正确,温度被稳定控制在26~28 ℃范围,达到了测试目的。
图5 电加热逻辑自动测试结果
针对多通道电加热逻辑测试,需要编写对应的自动测试用例。由于每个通道的测试方法完全一致,仅需修改单通道测试用例中交互信号的端口配置,即图4中的温度采集接口和指令输出接口。按照图3示意,将多个电加热测试用例进行组合,启动延时△T设置为相同时间,即实现了多通道电加热逻辑的并行自动测试。可见,在针对这种重复测试的案例中,测试用例编辑工具灵活易用,自动测试过程简单直观,将测试人员从重复繁琐的用例编辑和测试过程中解放出来,测试时间由传统手动测试的2天缩减到约2小时。
3.2 全任务流程逻辑测试
在平台管理系统地面测试中,需要考核整个飞行包线中的系统功能及性能,涉及到所有的被控系统。由于激励信号众多、测试持续时间长,传统的手动测试方法对于这种测试案例无能为力。通常借助全系统联试,将所有的真实系统接入后开展全任务流程逻辑测试,其试验规模庞大,试验组织复杂。
我们所研制的测试用例编辑工具和自动测试方法很好地适用于此类测试案例。所设计的自动测试用例需要涵盖全飞行包线和所有的被控系统。由于对系统单个逻辑的测试,已建立了相应测试用例,所以全任务流程的测试用例只需要将现有测试用例,按时间进行排序组合,使各项逻辑的测试执行时间与飞行包线时序相匹配。
针对平台管理系统的全任务流程逻辑测试,以实现对机电、环控、动力系统的管理逻辑为例,自动测试如图6所示。我们在全任务流程测试中,设计了13个自动测试节点,所有的测试节点均随飞行包线时序自主执行。测试人员仅需对测试过程进行监控,并对试验记录数据进行事后分析,无需干预测试过程。
图6 全任务流程逻辑测试示意
4 结束语
为了解决平台管理系统功能和逻辑测试复杂繁琐的困难,我们研究开发了一套灵活通用的自动测试工具。通过该测试工具模拟被控系统,建立了各系统模型。在测试过程中,测试设备与平台管理系统自主交互,测试用例自动运行,达到了平台管理系统功能和逻辑自动测试的目的。对比传统的手动测试方法,节省了约80%的测试时间,提高了测试效率,有效支撑了某无人机型号的研制测试。
目前,该测试方法还需要由人工判读测试数据并给出测试结论,后续工作需要实现测试数据的自动判读、测试结论的自动生成,进一步解放人力,实现整个环节的全自动测试。