一种航天星载软件自动测试系统技术方案

技术编号:8959344 阅读:168 留言:0更新日期:2013-07-25 18:55
本发明专利技术公开了一种航天星载软件自动测试系统,包括主控计算机、动力学计算机、遥控计算机、遥测计算机和测试数据存储模块;所述主控计算机包括可执行脚本生成模块,自动测试执行模块和测试结果输出模块所组成;动力学计算机对接收的参数包进行参数解包,根据解包后的数据进行动力学计算获得动力学数据,并将动力学数据发送至星载计算机和测试数据存储模块;遥控计算机将接收的遥控指令发送至星载计算机;遥测计算机接收星载计算机发送的卫星运行的遥测数据;并将遥测数据发送至测试数据存储模块。本发明专利技术的自动测试系统为一种面向星载控制软件测试应用的半物理闭环实时自动测试系统,能够增强测试用例的复用性,测试过程的可重复性,提高测试覆盖率。

【技术实现步骤摘要】

本专利技术涉及一种星载控制软件自动测试系统。
技术介绍
目前,现有的对于星载控制软件的测试有人工测试和自动测试两种,目前两种方式都在使用。现有的星载控制软件测试用例,通常为采用基于自然语言的描述方式,通常在测试用例中描述了:测试 用例的步骤,测试用例每一步骤中执行所需要的条件,测试执行中需要操作的变量,对所需设置变量设置的具体数值,相应需要观察和比对的数据,绘制相关曲线等操作。手动测试,主要通过测试操作人员手工执行这些测试用例,该方法对测试人员要求较高,需要完全能够理解测试用例所描述的含义,并能正确的操作,随着卫星控制软件研制任务的不断增多,采用此方式工作带来的工作强度大,测试执行差异大等情况的缺陷带来的影响越来越大。自动测试,目前主要基于商业化的自动测试执行驱动,通过执行某种特定的脚本编辑语言(例如:VBScript, JavaScript等专用的脚本语言描述)实现测试的自动执行。主要存在的问题为:所选用的测试脚本描述方式与大量的基于航天特征自然语言描述方式存在的控制软件测试用例不兼容,已有测试资源无法在该类自动测试系统上直接应用,而采用将自然描述语言转换为特定脚本的工作量巨大,而且不同的自动测试系统之间标准不统一,无法通过一次转换而满足自动测试系统可执行的需求,造成了在星载控制软件自动测试许多额外的工作。现有的星载控制软件的自动测试执行往往是基于时间序列顺序执行的,无法由测试操作中由于参数变化或者其它事件触发而引发的测试序列执行操作,该方法存在局限性,无法覆盖测试执行中需要基于测试过程中产生的条件进行判断触发的测试执行。
技术实现思路
本专利技术所要解决的技术问题是提供一种面向星载控制软件测试应用的半物理闭环实时自动测试系统,增强测试用例的复用性,测试过程的可重复性,提高测试覆盖率。本专利技术包括如下技术方案:一种星载控制软件自动测试系统,包括主控计算机、动力学计算机、遥控计算机、遥测计算机和测试数据存储模块;所述主控计算机包括可执行脚本生成模块,自动测试执行模块和测试结果输出模块所组成;可执行脚本生成模块将面向星载控制软件测试的基于星载软件特征定义的自然语言描述的测试用例自动转化为可执行测试脚本,并将所述可执行测试脚本发送至自动测试执行模块;测试自动执行模块导入可执行脚本生成模块生成的可执行测试脚本序列,实现测试序列顺序执行和实时监视;测试自动执行模块将测试脚本序列中的参数包发送至动力学计算机、将测试序列中的遥控指令发送至遥控计算机,并读取测试数据存储模块中的测试数据;测试结果输出模块接收由自动测试执行模块输出的测试结果,将测试结果输出到测试报告;动力学计算机对接收的参数包进行参数解包,根据解包后的数据进行动力学计算获得动力学数据,并将动力学数据发送至星载计算机和测试数据存储模块;遥控计算机将接收的遥控指令发送至星载计算机;遥测计算机接收星载计算机发送的卫星运行的遥测数据;并将遥测数据发送至测试数据存储模块。测试数据存储模块可以运行在单独的数据服务器上也可以运行在主控计算机上。本专利技术与现有技术相比具有如下优点:本自动测试系统使用的测试用例为基于航天特征自然语言描述的测试用例,能够最大限度地充分利用长期积累起来的丰富的星载软件测试用例;本自动测试系统不但可以基于测试事件的时间先后顺序,还可以通过比对变量的变化来触发测试事件的执行,提高了自动测试序列执行的灵活性和对各种状态更改的测试覆盖率;本自动测试系统运行在实时半物理闭环测试环境上,具有限度地模拟星载计算机控制软件运行的真实环境,确保软件测试结果的高仿真度。该自动测试系统具有良好的接口扩展能力,适应星载控制测试任务的多样性。附图说明图1为本专利技术自动测试系统结构示意图。图2为本专利技术自动测试系统数据流示意图。图3为对自然语言描述的测试用例进行预处理的流程图。图4为对预处理后的测试用例进行处理获得可执行脚本的流程图。图5为顺序执行线程流程图。图6为实时监控线程流程图。图7为测试结果输出流程图。具体实施例方式下面就结合附图对本专利技术做进一步介绍。一、自动测试系统如图1、2所示,本专利技术的自动测试系统为半物理分布式实时测试系统,包括主控计算机,动力学计算机,遥控计算机,遥测计算机,和测试数据存储模块。各个组成部分数据流的具体处理路径参见图2所示。主控计算机为自动测试的控制载体,配有与动力学计算机,遥控计算机、遥测计算机的接口。所述主控计算机包括可执行脚本生成模块,自动测试执行模块,测试结果输出模块所组成。可执行脚本生成模块将面向星载控制软件测试的基于星载软件特征定义的自然语言描述的测试用例自动转化为可执行测试脚本,并将所述可执行测试脚本发送至自动测试执行模块;测试自动执行模块导入可执行脚本生成模块生成的可执行测试脚本序列,实现测试序列顺序执行和实时监视;测试自动执行模块将测试脚本序列中的参数包发送至动力学计算机、将测试序列中的遥控指令发送至遥控计算机,并读取测试数据存储模块中的测试数据。所述可执行测试脚本包括多个测试序列块,每个测试序列块包括多个操作块。自动测试执行模块可实现可执行测试脚本的导入,测试进程的实时控制,测试序列执行,实时数据监视、判读与比对。测试结果输出模块接收由自动测试执行模块输出的测试结果,待测试执行完毕后顺序取出每个输出结果,以标准化的格式将测试结果输出到测试报告,输出的内容有包含判定变量的数据以及测试脚本所要求绘制的测试曲线。测试数据存储模块可以运行在单独的数据服务器上也可以运行在主控计算机上,其主要作用是存储测试过程中产生的遥控注入,动力学数据设置,遥测数据等实时自动测试系统中运行的相关数据。动力学计算机对接收的参数包进行参数解包,根据解包后的数据进行动力学计算获得动力学数据,并将动力学数据发送至星载计算机和测试数据存储模块。动力学计算机与星载计算机通过各种规定的接口相连接,模拟与星载计算机相连接的各类敏感器和执行机构的通讯。可以实现在定时中断中接收星载计算机发来的串口数据、并口数据、位口数据和1553B数据等各种信号,获取并设置测试系统中各种状态、电平、脉冲等信息,模拟卫星控制的敏感器和执行机构等外围部件的运行,此外还模拟卫星在轨道运行时的姿态位置等卫星动力学信息,通过动力学计算机仿真计算,并通过相应通道发送给星载计算机控制软件所需的各敏感器及部件数据及星载软件运行时的故障注入数据。动力学计算机也可以采集由星载计算机发送的执行机构数据,动力学计算机通过上述模拟与星载计算机联合构成了星载控制软件闭环运行所需的环境。例如:星载计算机采集由星载计算机计算后的推力器喷气脉冲、轮控力矩输出等控制量,通过数学模型运 算模拟卫星在空间运行时的实时的轨道运行状态和卫星姿态状态,而通过计算的这些状态通过卫星太阳敏感器,地球敏感器和陀螺按照其规定的数据传输方式传递给星载计算机,构成了验证星载控制软件姿态轨道控制的闭环测试验证系统。实时性主要体现在动力学计算机所运行的模拟敏感器、执行机构和卫星在轨运行的轨道动力学等数学运算模拟部分运行在实时操作系统上,与星载计算机的数据通讯严格地按照特定时需进行。遥控计算机将接收的遥控指令发送至星载计算机;实现遥控注入数据发送。所谓遥控注入数据发送即通过指定的通道向星载计算机发送上行根据协议规定的具有特定含义,能够被星载软本文档来自技高网...

【技术保护点】
一种航天星载软件自动测试系统,其特征在于,包括主控计算机、动力学计算机、遥控计算机、遥测计算机和测试数据存储模块;所述主控计算机包括可执行脚本生成模块,自动测试执行模块和测试结果输出模块所组成;可执行脚本生成模块将面向星载控制软件测试的基于星载软件特征定义的自然语言描述的测试用例自动转化为可执行测试脚本,并将所述可执行测试脚本发送至自动测试执行模块;测试自动执行模块导入可执行脚本生成模块生成的可执行测试脚本序列,实现测试序列顺序执行和实时监视;测试自动执行模块将测试脚本序列中的参数包发送至动力学计算机、将测试序列中的遥控指令发送至遥控计算机,并读取测试数据存储模块中的测试数据;测试结果输出模块接收由自动测试执行模块输出的测试结果,将测试结果输出到测试报告;动力学计算机对接收的参数包进行参数解包,根据解包后的数据进行动力学计算获得动力学数据,并将动力学数据发送至星载计算机和测试数据存储模块;遥控计算机将接收的遥控指令发送至星载计算机;遥测计算机接收星载计算机发送的卫星运行的遥测数据;并将遥测数据发送至测试数据存储模块。

【技术特征摘要】
1.一种航天星载软件自动测试系统,其特征在于,包括主控计算机、动力学计算机、遥控计算机、遥测计算机和测试数据存储模块; 所述主控计算机包括可执行脚本生成模块,自动测试执行模块和测试结果输出模块所组成; 可执行脚本生成模块将面向星载控制软件测试的基于星载软件特征定义的自然语言描述的测试用例自动转化为可执行测试脚本,并将所述可执行测试脚本发送至自动测试执7TT丰旲块; 测试自动执行模块导入可执行脚本生成模块生成的可执行测试脚本序列,实现测试序列顺序执行和实时监视;测试自动执行模块将测试脚本序列中的参数包发送至动力学计算机、将测试序列中的遥控指令...

【专利技术属性】
技术研发人员:王振华张国峰陈朝晖杨孟飞党纪红董晓刚王晶徐子荔杨春河蔡雨辰
申请(专利权)人:北京控制工程研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1