APP下载

姿轨控软件控制功能测试方法简析

2017-06-06宋力立印玲

电脑知识与技术 2017年9期
关键词:软件测试宏观控制

宋力立 印玲

摘要:论文简述了卫星姿态轨道控制软件的功能构成,并针对其核心的姿态确定和控制功能,总结一种宏观的控制功能测试思路,可增加测试用例覆盖的完整性,提高测试效率,保障测试质量,同时该测试思路也可应用于类似的大型控制软件。

关键词:姿轨控;软件测试;控制;宏观

1.背景

卫星姿态轨道控制软件,以下简称“姿轨控软件”,主要完成卫星姿态确定、星上轨道计算、卫星姿态及轨道控制、系统故障识别及故障对策、输入输出数据处理等任务;同时,还要完成对星载姿轨控计算机系统资源管理、姿轨控系统各种输入输出接口的数据及指令传输驱动,姿轨控计算机自检及状态监测、故障识别及故障对策、双机自主切换以及在轨远程编程等任务。

2.姿轨控软件构成

姿轨控软件由功能上主要可以分为五大部分,分别为接口处理、姿态确定、姿态控制、故障诊断和底层管理,具体如下图所示。

1)底层管理:主要包括卫星上电初始化、硬件维护、三取二数据刷新、遥测数据下发、遥控数据接收、时钟管理等等。底层管理部分的功能与一般嵌入式软件的功能类似,完成与硬件相关,与姿轨控任务无关的功能。

2)接口处理:姿轨控拥有大量的输入敏感器件和输出执行部件,这些接口每周期与姿轨控软件进行数据交互。每周期开始时,将最新的姿态信息发送给姿轨控软件,进行姿态解算;每周期结束前,将姿轨控软件输出的最新一拍控制指令发送给执行部件。

3)姿态确定:卫星收到的敏感器信息均为原始的数据,需要经过大量的数据处理才能得到卫星控制所使用的姿态角度,这个过程被称为姿态确定。姿态确定首先通过地面注入的轨道六要素或GPS数据,计算出卫星当前的轨道信息,再根据各敏感器件的原理公式,解算出控制用姿态。

4)姿态控制:卫星根据当前的姿态、控制模式、飞行任务或地面注数的要求,对卫星的姿态进行调整的过程。姿态控制功能被细分为多种模式,每种模式采用不同的控制算法,软件根据这些算法得出各执行部件的控制输出,最终通过接口发送给各执行部件,完成姿态控制功能。

5)故障诊断:对卫星当前控制状态进行故障诊断的模块,包括单机接口故障、数据处理故障、系统故障等等,针对不同故障,采取切换备用单机、选用其他单机、更改控制模式等故障应对措施。

3.宏观的控制功能测试思路

对于姿轨控软件测试而言,测试的最大难点是其中的控制功能,控制功能是姿轨控软件的核心,在实际测试中,由于白盒测试很难模拟控制功能中姿态动态的变化过程,所以一般需要构筑闭环系统,采用黑盒闭环测试的方法进行测试。

黑盒閉环测试的最大难点是卫星姿态的不可控。由于卫星敏感器的输人由动力学模型提供,并与姿轨控系统和执行部件构成闭环回路,一旦软件上电运行,设计人员无法再对卫星的姿态直接作出影响,仅能发送注数指令通过影响卫星的控制流程对卫星姿态作出间接影响,而姿轨控软件测试中,大部分功能测试用例中最不可或缺的测试输入恰恰就是敏感器单机上传的数据经过星上解算后的卫星实际姿态。于是,测试人员不得不设计大量白盒测试的用例,一些能够勉强实现的黑盒测试用例,数十分钟甚至数个小时的执行时间也使得测试执行效率非常低下,在这种情况下,一种宏观的控制功能用例设计思路就显得非常重要。

控制是一个闭环的过程,如下图2所示,姿轨控软件根据敏感器的输入姿态和当前控制模式,计算执行部件的输出。动力学模型根据当前拍执行部件的输出,解算新一拍的姿态,转化为敏感器件的输入并传输给姿轨控系统。

在闭环系统中,强行对姿轨控系统或动力学模型内部的数据进行更改,很有可能导致系统产生不可预期的姿态偏差,并随着系统的运行不断扩大,最终导致姿态走飞,仅能通过重启姿轨控系统以及动力学模型来重新运行软件进行测试。

因此,在进行控制功能的测试时,我们只能通过宏观的角度,对软件整体功能进行测试,这里我们以姿轨控系统中帆板闭环控制功能为例进行详细说明。

下图3为帆板控制流程示意图,看上去复杂,实际上就是根据帆板上的太阳角度和当前驱动标志设置输出的帆板驱动角速度。

一般白盒或灰盒情况下测试时,一个输入对应一个输出,共需要设计15个用例,如下表1所示。

然而,即使根据上表设计出15个用例,在实际测试中也是不可执行的。由于帆板太阳角度与帆板输出的驱动角速度依靠动力学模型构成闭环系统,无法直接输入,即使输入也难以稳定在某个值让测试人员观察结果,所以此时,应当通过更上层的功能层面对闭环驱动模式进行测试。

通过对流程图分析可知,驱动标志的作用是判断当前帆板角度是由大角度控制收敛而来,还是由小角度震荡发散而来,收敛时对驱动角速度加以控制,发散时保持默认角速度不加控制。所以,只需要从功能上设计4个用例,即可对帆板闭环控制系统进行测试。在测试实际执行过程中,可以画出当前帆板角度和帆板驱动角速度的曲线图,如有必要可以一一对比,同样可以起到之前15个测试用例的效果。

帆板闭环控制系统仅为卫星姿轨控系统中一个非常小的控制方案,但此类以上层功能特点为依据设计测试用例的方法,小到喷气输出、飞轮卸载等单机控制规律,大到机动控制、相对导航、轨道控制等卫星主功能,都可以使用这类测试方法,增加测试用例的可执行率。

4.结束语

对于姿轨控软件中的控制功能,采用一种宏观的测试思路,一方面可以增加每一个测试用例的覆盖面,对控制功能中闭环的动态变化进行测试,提升测试质量,增加软件问题的暴露率,另一方面,根据软件闭环控制流程设计的测试用例,也可以大大提高测试用例的执行效率,缩短测试执行时间,提高测试效率。

猜你喜欢

软件测试宏观控制
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
宏观与政策
软件测试工程化模型及应用研究
宏观
宏观
宏观资讯