一种基于组态化测试序列的有效载荷测试方法及系统与流程

文档序号:17949820发布日期:2019-06-18 23:56阅读:200来源:国知局
一种基于组态化测试序列的有效载荷测试方法及系统与流程

本发明主要涉及空间有效载荷单机设备自检测、有效载荷分系统地面综合测试等技术领域,尤其涉及一种基于组态化测试序列的有效载荷测试方法及系统。



背景技术:

为了完成军事、气象、科学等空间探测任务,不同航天器一般配置有不同类型的有效载荷科学探测仪器,这些仪器跨越不同学科并设计有不同的指令、功能和工作模式。在有效载荷研制的初样、正样等各个阶段,均需要对有效载荷设备级、分系统级电气及数据接口、功能及性能指标、设备工作模式等进行全面的地面试验与验证。以测试序列文件包含的遥控指令、数据注入指令为驱动,以实时采集的载荷遥测参数、科学探测数据为判读依据的黑盒测试是有效载荷常用的测试方法。

在有效载荷测试序列编辑、执行方面,先后出现了“人工序列编辑与手动执行”、“基于脚本的测试序列编辑与自动执行”、“基于petri网、蚁群及遗传等智能算法的测试序列自动设计”等几种不同的实现方式。在人工序列编辑手动执行方式下,序列文件的编辑、遥控及数据注入指令的发送均通过人工方式实现,编辑人员需要全面掌握载荷工作模式、指间约束等载荷设计知识,指令发送人员需要长时间专注于测试过程以确保指令的逐条可靠执行,由于人工疏漏造成测试过程无效、不得不进行多次测试反复的事件时有发生;在基于脚本的测试序列编辑与自动执行方式下,测试序列的自动、单步执行功能在指令执行层面大大解放了人力,但其最核心的“脚本”仍以文字方式进行呈现,表达不够直观,脚本的编辑对人员素质仍有较高的要求;基于petri网、蚁群及遗传算法的测试序列自动编辑方法试图在序列编辑层面解放人力,但目前该方法仅停留在论文及研究阶段,在高安全性、高可靠性要求的卫星及有效载荷研制任务中实际应用较少。

在有效载荷测试序列覆盖性分析方面,目前仍然停留在人工统计分析的层面。各有效载荷主任设计师在一个测试阶段完成后,对本阶段有效载荷的加电时长、加断电次数、功能、工作模式、指令等测试覆盖性进行分析、统计,分析过程繁琐且主观性强,载荷用户、载荷总体、卫星总体等不能客观掌握载荷设备的技术状态,数字化测试覆盖性分析报告自动生成方法需求迫切。



技术实现要素:

本发明的目的在于解决两个方面的问题:①基于文字脚本的测试序列编辑时,由于人工疏漏造成测试序列错误,进而导致测试过程无效、测试反复的问题;②人工的有效载荷测试覆盖性统计分析过程繁琐且主观性强,载荷用户、载荷总体、卫星总体等不能客观掌握载荷设备技术状态的问题。为解决上述问题,本发明提出一种基于组态化测试序列的有效载荷测试方法,应用于空间探测任务的有效载荷地面综合测试系统中,所述方法包括:

步骤1)读取有效载荷设计指令信息,以分层指令树形式对设计指令信息进行管理,提供指令信息的快速检索与定位;

步骤2)从所述分层指令树中选取指令进行测试序列指令的添加,对添加的指令进行图形化编辑,生成有效载荷测试序列;

步骤3)检测所述有效载荷测试序列与载荷设计指令信息的一致性;

步骤4)一致性检测通过后,执行所述有效载荷测试序列,在测试序列执行过程中生成指令发送记录和执行日志列表,最后形成测试覆盖性分析报告、测试序列执行报告。

作为所述方法的进一步改进,所述步骤1)具体包括:

步骤1-1)从配置文件或数据库中读取有效载荷设计指令信息并进行内存管理;所述有效载荷设计指令信息包括有效载荷遥控指令、数据注入指令、间接指令以及指令间约束规则、指令与载荷加断电、功能和工作模式之间的关联规则;

步骤1-2)以分层指令树形式对指令信息进行管理;

步骤1-3)对指令信息进行快速检索与定位,指令信息检索过程中,信息输入框中输入检索内容的同时,分层指令树进行匹配指令节点高亮显示、非匹配指令节点隐藏。

作为所述方法的进一步改进,所述步骤1-1)的指令间约束规则、指令与载荷加断电、功能和工作模式之间的关联规则包括:成对出现指令约束规则、强条件约束规则、前置条件指令约束规则、互斥指令约束规则、指令与载荷开机状态的关联规则、指令与载荷关机状态的关联规则、指令与校时操作关联规则、指令与设备工作模式关联规则、指令与设备功能关联规则。

作为所述方法的进一步改进,所述步骤2)具体包括:

步骤2-1)将测试序列主显示区划分为不同网格,每个网格放置一个指令组件,以不同形状的图形标识指令组件的类别;

步骤2-2)以鼠标拖拽方式,将分层指令树中的指令拖拽至所述测试序列中;

步骤2-3)在所述测试序列中对添加的指令进行图形化编辑,包括指令的复制、粘贴、删除和指令属性设置,所述指令属性设置包括设置指令执行时间、是否为焦点指令、指令执行后是否暂停、是否为循环指令、循环次数;生成有效载荷测试序列。

作为所述方法的进一步改进,所述步骤3)具体包括:

检测所述有效载荷测试序列中所有指令执行的预设时间码的合法性,对预设时间码超前于逻辑测试时间,即测试中可能错过执行时机的指令进行提示;

检测所述有效载荷测试序列的指令与数据库表中设计指令信息的一致性,对指令标识、指令码字与数据库表内容不一致的指令进行提示;

检测所述有效载荷测试序列的循环体结构完整性,对循环体结构不完整即循环开始指令与循环结束指令未成对出现、存在循环体嵌套等现象进行提示;

检测所述有效载荷测试序列对成对出现指令约束规则的依从性,对不符合成对出现约束规则的指令进行提示;

检测所述有效载荷测试序列对强条件即b指令发送之前必须紧邻发送a指令约束规则的依从性,对不符合强条件约束规则的指令进行提示;

检测所述有效载荷测试序列对前置条件即b指令发送之前必须发送a指令约束规则的依从性,对不符合前置条件约束规则的指令进行提示;

检测所述有效载荷测试序列对互斥条件即a、b指令之间不能发送c指令约束规则的依从性,对不符合互斥条件约束规则的指令进行提示。

作为所述方法的进一步改进,所述步骤4)具体包括:

步骤4-1)判断所述有效载荷测试序列与载荷设计指令信息的一致性检测是否全部通过;若全部通过则执行步骤4-2),否则执行步骤2-3);

步骤4-2)执行测试序列;

步骤4-3)在执行测试序列过程中显示指令发送信息、指令执行状态,生成执行日志列表,所述指令状态包括就绪、发送成功、执行成功、发送失败和执行失败;

步骤4-4)基于测试序列的有效载荷设计指令信息和执行日志列表,生成测试序列对载荷遥控指令、数据注入指令、间接指令的覆盖性分析报告、载荷加断电次数、加断电时长、载荷功能与工作模式覆盖性分析报告和测试序列执行报告。

作为所述方法的进一步改进,所述步骤4-2)包括:依据各指令设置的指令执行时间顺序或循环自动执行模式和手动执行测试序列模式。

作为所述方法的进一步改进,所述方法还包括:

步骤5)将测试序列执行报告导出为excel文件;所述测试序执行报告中包含的信息包括:指令标识、码字、发送时间、发送结果、执行结果、预测结果和实测结果。

作为所述方法的进一步改进,所述步骤2)还可包括:

步骤2-a)导入已编辑测试序列,对已编辑测试序列的合法性进行检测;包括:

检测所述测试序列中所有指令执行的预设时间码的合法性,对预设时间码超前于逻辑测试时间,即测试中可能错过执行时机的指令进行提示;和

检测所述测试序列的指令与数据库表中设计指令信息一致性,对指令标识、指令码字与数据库表内容不一致的指令进行提示;和

检测所述测试序列的循环体结构完整性,对循环体结构不完整即循环开始指令与循环结束指令未成对出现、存在循环体嵌套的问题进行提示;和

检测所述测试序列对成对出现指令约束规则的依从性,对不符合成对出现约束规则的指令进行提示;和

检测所述测试序列对强条件即b指令发送之前必须紧邻发送a指令约束规则的依从性,对不符合强条件约束规则的指令进行提示;和

检测所述测试序列对前置条件即b指令发送之前必须发送a指令约束规则的依从性,对不符合前置条件约束规则的指令进行提示;和

检测所述测试序列对对互斥条件即a、b指令之间不能发送c指令约束规则的依从性,对不符合互斥条件约束规则的指令进行提示;

步骤2-b),对通过合法性检测的测试序列中的指令进行图形化编辑,生成有效载荷测试序列。

基于所述方法,本发明基于组态化测试序列的有效载荷测试系统,包括存储器、处理器和存储在存储器上的并可在处理器上运行的计算机程序,所述处理器执行所述程序时完成所述方法的所有步骤。

本发明的优势在于:

1、本发明所述基于组态化测试序列的有效载荷测试方法及系统,能够快速、高效、准确的完成测试序列的编辑,有效避免了由于人工疏漏造成测试序列错误,进而导致测试过程无效造成的测试反复,显著提高有效载荷的测试效率;

2、本发明所述基于组态化测试序列的有效载荷测试方法及系统,采用数字化、自动化有效载荷测试序列覆盖性分析方法,能够给出完整的指令执行记录、载荷加电时长统计、载荷加电断电次数统计、载荷功能及工作模式测试覆盖统计等客观信息,为载荷用户、载荷总体、卫星总体等客观掌握已执行测试用例对载荷设计的覆盖程度提供详实依据;

3、本发明所述基于组态化测试序列的有效载荷测试方法及系统,以鼠标操作为主、键盘输入为辅的编辑策略、基于载荷设计指令信息的测试序列合法性检测方法,有效确保了测试序列文件的正确性,是提升载荷测试效率的主要原因;同时,基于指令与载荷加断电、工作模式、功能的关联规则实现的测试序列覆盖性分析方法,确保了测试覆盖性分析报告的客观输出。

附图说明

图1为本发明所述的基于组态化测试序列的有效载荷测试方法操作流程图;

图2为本发明所述的基于组态化测试序列的有效载荷测试系统的结构示意图;

图3为本发明所述的基于组态化测试序列的有效载荷测试方法及系统的载荷设计指令信息管理与快速检索模块;

图4为本发明所述的基于组态化测试序列的有效载荷测试方法及系统的图形化测试序列编辑模块;

图5为本发明所述的基于组态化测试序列的有效载荷测试方法及系统的测试序列指令属性设置;

图6为本发明所述的基于组态化测试序列的有效载荷测试方法及系统的指令执行时间码合法性检测流程;

图7为本发明所述的基于组态化测试序列的有效载荷测试方法及系统的单一焦点指令与数据库表内容一致性检测流程;

图8为本发明所述的基于组态化测试序列的有效载荷测试方法及系统不支持的循环体结构嵌套流程;

图9为本发明所述的基于组态化测试序列的有效载荷测试方法及系统的自动执行过程用户界面;

图10(a)为本发明所述的基于组态化测试序列的有效载荷测试方法及系统在执行过程中的主显示区显示各指令执行的状态;

图10(b)为本发明所述的基于组态化测试序列的有效载荷测试方法及系统在执行过程中的日志列表;

图10(c)为本发明所述的基于组态化测试序列的有效载荷测试方法及系统在执行过程中的指令执行记录;

图11为本发明所述的基于组态化测试序列的有效载荷测试方法及系统的测试报告-指令覆盖性统计分析报告;

图12为本发明所述的基于组态化测试序列的有效载荷测试方法及系统的测试报告-加电时长统计分析报告;

图13为本发明所述的基于组态化测试序列的有效载荷测试方法及系统的测试用例执行记录。

具体实施方式

如图1所示,本发明的基于组态化测试序列的有效载荷测试方法包括:

步骤1)读取有效载荷设计指令信息,以分层指令树形式对设计指令信息进行管理,并提供指令信息的快速检索与定位功能;

步骤2)从所述分层指令树中选取指令进行测试序列指令的添加,并设置所述测试序列指令属性,基于图形化方式编辑有效载荷测试序列;

步骤3)检测所述有效载荷测试序列与载荷指令设计信息的一致性;

步骤4)一致性检测通过后,执行所述有效载荷测试序列,并在执行过程中生成并导出指令发送记录、执行日志列表;

步骤5)基于测试序列的有效载荷设计指令信息和执行日志列表,生成有效载荷测试序列覆盖性分析报告和测试序列执行报告;

步骤6)将有效载荷测试序列覆盖性分析报告、测试序列执行报告导出为excel文件。

本发明所述的基于组态化测试序列的有效载荷测试方法及系统的创新点包括:

1)组态化、图形化的测试序列编辑:以载荷设计的遥控指令、数据注入指令、间接指令为基础组件,基于鼠标拖拽为主、键盘输入为辅的序列编辑策略,有效减少测试序列编辑可能引入的错误,基于图形化方式直观展示测试序列的顺序执行流程、循环执行流程;

2)基于指令约束规则的测试序列合法性检测:以载荷设计指令信息、指令间约束规则等知识为检测依据,对测试序列中指令执行时间的潜在冲突、指令标识与码字与载荷设计知识的一致性、指令间约束规则的依从性进行检测,避免测试序列错误导致的测试过程无效,提升有效载荷的测试效率;

3)数字化、自动化测试序列覆盖性分析:针对传统人工载荷测试覆盖性分析的主观性问题,基于载荷指令与设备加断电操作、载荷工作模式、载荷功能的关联规则,对测试序列进行载荷指令、加电时长、加断电次数、载荷工作模式、载荷功能的覆盖性进行数字化统计与分析,生成excel格式的测试覆盖性分析报告。

本发明的基于组态化测试序列的有效载荷测试系统主要包括载荷设计指令信息管理与快速检索模块、图形化测试序列编辑模块、测试序列合法性检测模块、测试序列自动或手动执行模块、测试序列覆盖性分析模块、测试序列导入导出模块等。如图2所示,各模块功能设计如下:

1)所述载荷设计指令信息管理与快速检索模块,用于对配置文件或数据库中的载荷设计指令信息进行读取和内存管理,以分层指令树形式对载荷指令信息进行快视,提供用户界面实现指令快速检索与定位。其中有效载荷设计指令信息包括①载荷设计的遥控指令、数据注入指令、间接指令信息;②指令间约束规则、指令与载荷加断电操作、功能、工作模式之间的关联规则等信息。

a.设计指令信息

包括指令标识、指令名称、所属载荷、指令码字、扩展字段、码字是否仍可编辑(适用于码字中包含需要设置参数的指令),以数据注入指令为例示意如下:

表格1载荷设计指令信息示例

b.指令间约束规则、指令与载荷加断电、功能、工作模式之间的关联规则。

包括以下几种类型:

(1)成对出现指令约束规则:如加电指令与断电指令必须成对出现,加电指令之后必须有断电指令,断电指令之前必须有加电指令,且加电指令在前,断电指令在后;

(2)强条件约束规则:即ab指令必须同时出现且紧邻、中间不能穿插其他指令;

(3)前置条件指令约束规则:a指令是b指令的前置条件,如a为开机指令,b为关机指令,那么关机指令必须以开机指令为前提条件;

(4)互斥指令约束规则:a、c指令之间不能有b指令,如主份开、主份关指令之间不能有备份开指令;

(5)指令与载荷开机状态的关联规则:指令执行后即表明该设备进入加电状态,用于统计加电次数、加电时长等;

(6)指令与载荷关机状态的关联规则:指令执行后即表明该设备进入断电状态,用于统计断电次数、加电时长等;

(7)指令与校时操作关联规则:指令执行后即表明进行了一次校时,用于统计测试序列中的校时次数;

(8)指令与设备工作模式关联规则:指令执行后即表明该载荷进入某工作模式,用于分析测试序列对载荷设备工作模式的覆盖性;

(9)指令与设备功能关联规则:指令执行后即表明该载荷执行了某功能,用于分析测试序列对载荷功能的覆盖性;

c.用户交互界面

以分层指令树对载荷设计指令进行管理,提供指令的快速检索与定位,其界面部分设计如图3所示。

2)所述图形化测试序列编辑模块,用于以载荷指令为基本组件,图形化方式呈现测试序列,以鼠标拖拽方式从分层指令树中选取指令进行序列指令添加,提供鼠标操作完成指令全选、拷贝、剪切、粘贴、属性设置等功能,其中属性设置包括设置指令执行时间(等待秒数或执行卫星时)、是否为焦点指令(下一条要发送的指令)、指令执行后是否暂停、是否为循环指令、循环次数等;

测试序列编辑原则是“以鼠标操作为主,键盘操作为辅”,具体实现的编辑操作包括:

(1)序列指令图像化呈现:如图4所示,将屏幕划分为不同网格,每个网格放置一个指令组件,以不同形状标识不同类别指令:

(2)序列指令添加:从分类指令树中选择需要添加的指令,右键鼠标拖拽至序列的屏幕网格位置,便可将指令添加到该序列中;

(3)序列指令复制、粘贴:通过鼠标点击选择一个、多个序列指令,通过右键菜单进行指令复制、粘贴操作,其中粘贴的位置为粘贴时鼠标所在的屏幕网格;

(4)序列指令删除:通过鼠标点击选择一个、多个序列指令,通过del键或鼠标右键菜单实现序列指令删除,指令删除后,后续指令自动前移;

(5)序列指令属性设置:如图5所示,包括设置指令执行时间(等待秒数或执行卫星时)、是否为焦点指令(下一条要发送的指令)、指令执行后是否暂停、是否为循环指令、循环次数等。

指令执行时间包括两种设置方式:等待时间、绝对时间,其中设置了绝对时间后,系统自动提示后续指令是否将依据规则(后续指令依据本条指令属性设置前后,执行时间提前或延后的时长进行增减)进行相应的调整;

循环指令:可以将某指令设置为循环开始指令,并设置循环执行的次数;也可以将某指令设置为循环结束指令;循环开始指令与循环结束指令之间的所有指令将被重复执行;

执行后暂停:该属性设置后,本条指令执行后,自动执行的流程将暂停;

设置为焦点指令:该属性设置后,自动执行或单步执行时,系统将从该指令开始执行。

3)所述测试序列一致性检测模块,用于在进行测试序列自动或手动执行之前,对指令标识、码字与数据库表中指令标识、码字的一致性、指令执行时间逻辑的正确性、指令间约束规则的依从性进行检查,对不符合规则的指令进行提示;

一致性检测的规则包括:

卫星时间码合法性检测:设置“逻辑测试时间”变量,每执行一条指令,该变量取值进行相应的调整。若执行到某指令时,该指令执行的绝对卫星时间小于“逻辑测试时间”,则说明该指令执行时机已过,测试序列中该指令预设的指令执行卫星时间码不合法,检测算法如图6所示;

编辑指令与数据库表中的一致性检测:该检测是为了防止在指令编辑的过程中,数据库表格内容发生了变化,或者测试序列编辑并进行存储后,数据库表内容又发生了变化,导致当前测试序列文件的指令标识在数据库中找不到、指令码字不一致等;单个焦点指令与数据库表内容的一致性检测流程如图7所示;

循环体结构完整性检查:循环执行指令时,循环开始的指令、循环结束的指令必须成对出现;注意所申请方法不支持如图8所示的循环体嵌套;

成对出现指令约束规则检测:比如设备开机指令与关机指令必须成对出现;

强条件约束规则检测:检测必须同时出现、且必须紧邻、中间不能穿插其他指令的规则;该规则一般用来检查某指令发送之前,必须进行另一项操作的情况,如载荷控制器备份开机之前,必须有一条载荷控制器切备指令;

前置条件指令约束规则检测:即在某一条指令发送之前,必须有另一条指令,但两条指令之间可以有其他指令;

互斥指令约束规则检测:a、c指令之间不能有b指令,如主份开、主份关指令之间不能有备份开指令。

4)所述测试序列自动或手动执行模块,如图9所示,用于依据各指令设置的指令执行时间,顺序或循环自动执行测试序列,或者以手动形式进行执行,只有在上一条指令执行成功后,才能继续执行下一条指令;

如图10(a)所示,在指令执行过程中,主显示区显示指令执行的状态,其中高亮背景的指令为焦点指令,是下一时刻要发送的指令。指令的状态包括就绪、发送成功、执行成功、发送失败、执行失败,不同状态在指令框的最下部分进行文字和背景的显示;

如图10(b)所示,在指令执行过程中的日志列表,显示当前指令发送的情况;

如图10(c)所示,在指令执行过程中,指令发送记录会显示每一条指令的发送、执行情况。

5)所述测试覆盖性分析模块,包括测试序列对载荷遥控指令、数据注入指令、间接指令的覆盖性分析报告,载荷加断电次数、加电时长、载荷功能与工作模式覆盖性分析报告等;

测试序列对载荷遥控指令、数据注入指令、间接指令的覆盖性分析报告,如图11所示;载荷加断电次数及加断电时长的覆盖性分析报告,如图12所示。

6)所述测试序列的导入导出模块,用于将测试序列及其执行报告导出为excel文件,每条执行报告中包含的信息包括:指令标识、码字、发送时间、发送结果、执行结果、预测结果、实测结果等;也能够反向将测试序列读入到系统中,导入过程中对测试序列文件的合法性进行检测;

如图13所示,能够将测试序列执行报告导出为excel文件,每条指令报告中包含的信息包括:指令标识、码字、发送时间、发送结果、执行结果、预测结果、实测结果等。

本发明所述方法已经成功应用于嫦娥四号、中国首次火星探测任务有效载荷地面综合测试系统任务中,完成了嫦娥四号巡视器、着陆器2个探测器、中国首次火星探测任务环绕器、着陆巡视器2器,包括全景相机、地形地貌相机、中分辨率相机、高分辨率相机等20余种有效载荷各个阶段的分系统综合测试任务。

任务执行过程中,测试人员借助本发明所述方法实现的系统,能够快速、高效、准确的完成测试序列的编辑,有效避免了由于人工疏漏造成测试序列错误,进而导致测试过程无效造成的测试反复,显著提高了有效载荷的测试效率;数字化有效载荷测试序列覆盖性分析方法,能够给出完整的指令执行记录、指令执行统计、载荷加电时长统计、载荷加电断电次数统计等客观统计信息,为载荷用户、载荷总体、卫星总体等全面掌握测试过程对载荷设计的覆盖程度提供了详细依据。

以鼠标操作为主、键盘输入为辅的编辑策略、基于载荷模型信息的测试序列合法性检测方法,有效确保了测试序列文件的正确性,是提升载荷测试效率的主要原因;同时,基于指令与载荷加断电、工作模式、功能的关联规则实现的测试序列覆盖性分析方法,确保了测试覆盖性分析报告客观输出。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1