CN117312177B - 航天器控制系统的测试用例生成方法及装置 - Google Patents

航天器控制系统的测试用例生成方法及装置 Download PDF

Info

Publication number
CN117312177B
CN117312177B CN202311616279.1A CN202311616279A CN117312177B CN 117312177 B CN117312177 B CN 117312177B CN 202311616279 A CN202311616279 A CN 202311616279A CN 117312177 B CN117312177 B CN 117312177B
Authority
CN
China
Prior art keywords
flight
event
test
file
test case
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311616279.1A
Other languages
English (en)
Other versions
CN117312177A (zh
Inventor
郭泽
蔺玥
任焜
颜军
邱芳
王润楠
龚宇莲
何英姿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Control Engineering
Original Assignee
Beijing Institute of Control Engineering
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Control Engineering filed Critical Beijing Institute of Control Engineering
Priority to CN202311616279.1A priority Critical patent/CN117312177B/zh
Publication of CN117312177A publication Critical patent/CN117312177A/zh
Application granted granted Critical
Publication of CN117312177B publication Critical patent/CN117312177B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种航天器控制系统的测试用例生成方法及装置,涉及航天器控制系统测试技术领域,该方法包括:获取用于本次模拟飞行测试的飞行程序文件;所述飞行程序文件是由人工按照预设格式填写的文本文件,所述飞行程序文件中包括条目化的多条飞行事件,所述多条飞行事件构成本次模拟飞行测试的飞行程序;对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句生成本次模拟飞行测试的测试用例脚本文件;所述可执行语句所使用的编码语言与所述测试用例所使用的编码语言相同。本方案,能够基于飞行程序文件自动生成测试用例,以降低工作量和出错率。

Description

航天器控制系统的测试用例生成方法及装置
技术领域
本发明实施例涉及航天器控制系统测试技术领域,特别涉及一种航天器控制系统的测试用例生成方法及装置。
背景技术
为保障航天器控制系统在轨运行的稳定性,需要预先针对航天器控制系统进行模拟飞行测试。航天器控制系统集成测试的测试类型主要包括快速仿真测试、半物理测试和全物理测试。由于对航天器控制系统的测试需求复杂,模拟飞行测试的工况较多,再加上飞行周期的变化等因素,导致航天器控制系统的测试用例编写约束非常多。
目前,由人工针对航天器控制系统编写测试用例。并且当测试需求发生变化时,同样由人工手动对测试用例进行修改。不仅工作量大,且出错率较高。
发明内容
本发明实施例提供了一种航天器控制系统的测试用例生成方法及装置,能够基于飞行程序文件自动生成测试用例,以降低工作量和出错率。
第一方面,本发明实施例提供了一种航天器控制系统的测试用例生成方法,包括:
获取用于本次模拟飞行测试的飞行程序文件;所述飞行程序文件是由人工按照预设格式填写的文本文件,所述飞行程序文件中包括条目化的多条飞行事件,所述多条飞行事件构成本次模拟飞行测试的飞行程序;
对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句生成本次模拟飞行测试的测试用例脚本文件;所述可执行语句所使用的编码语言与所述测试用例所使用的编码语言相同。
第二方面,本发明实施例还提供了一种航天器控制系统的测试用例生成装置,包括:
获取单元,用于获取用于本次模拟飞行测试的飞行程序文件;所述飞行程序文件是由人工按照预设格式填写的文本文件,所述飞行程序文件中包括条目化的多条飞行事件,所述多条飞行事件构成本次模拟飞行测试的飞行程序;
生成单元,用于对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句生成本次模拟飞行测试的测试用例脚本文件;所述可执行语句所使用的编码语言与所述测试用例所使用的编码语言相同。
第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
本发明实施例提供了一种航天器控制系统的测试用例生成方法及装置,测试人员可以根据测试需求将本次模拟飞行测试的多条飞行事件,按照预设格式填写在文本文件中以得到飞行程序文件,在获取到飞行程序文件之后可以对飞行程序文件进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句自动生成本次模拟飞行测试的测试用例脚本文件。可见,本方案能够基于飞行程序文件自动生成测试用例脚本文件,避免了人工手动编写测试用例脚本文件的过程,降低了工作量和出错率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种航天器控制系统的测试用例生成方法流程图;
图2是本发明一实施例提供的一种电子设备的硬件架构图;
图3是本发明一实施例提供的一种航天器控制系统的测试用例生成装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,本发明实施例提供了一种航天器控制系统的测试用例生成方法,该方法包括:
步骤100,获取用于本次模拟飞行测试的飞行程序文件;所述飞行程序文件是由人工按照预设格式填写的文本文件,所述飞行程序文件中包括条目化的多条飞行事件,所述多条飞行事件构成本次模拟飞行测试的飞行程序;
步骤102,对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句生成本次模拟飞行测试的测试用例脚本文件;所述可执行语句所使用的编码语言与所述测试用例所使用的编码语言相同。
本发明实施例中,测试人员可以根据测试需求将本次模拟飞行测试的多条飞行事件,按照预设格式填写在文本文件中以得到飞行程序文件,在获取到飞行程序文件之后可以对飞行程序文件进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句自动生成本次模拟飞行测试的测试用例脚本文件。可见,本方案能够基于飞行程序文件自动生成测试用例脚本文件,避免了人工手动编写测试用例脚本文件的过程,降低了工作量和出错率。
下面描述图1所示的各个步骤的执行方式。
首先,针对步骤100,获取用于本次模拟飞行测试的飞行程序文件。
在利用测试用例脚本文件进行模拟飞行测试前,需要预先确定好本次模拟飞行的飞行程序,以使航天器控制系统按照该飞行程序进行飞行控制。为了能够基于飞行程序文件自动生成测试用例脚本文件,该飞行程序文件是由人工按照预设格式填写的文本文件,比如该文本文件为word文件、excel文件、txt文件等。飞行程序文件中包括条目化的多条飞行事件,所述多条飞行事件构成本次模拟飞行测试的飞行程序。
其中,在填写飞行程序文件时需要按照预设格式将多条飞行事件以条目化的方式逐条填入文本文件中,每一条飞行事件包括多个事件单元,每一个事件单元的类型不同。本发明一个实施例中,每一条飞行事件至少包括如下类型的事件单元:事件触发时间、飞行动作事件和飞行判断事件。
除上述类型的事件单元以外还可以包括其他类型的事件单元,比如事件名称、事件内容、执行条件与方法、测控条件等。
下面以运载火箭程控器分离后,飞行器转入在轨运行阶段,其初期入轨阶段的飞行程序为例,对飞行程序文件进行说明。其中,飞行器入轨后首先完成在轨设备加断电,初始偏差修正,天基S以及天基Ka测控数传的建立。请参考表1,为飞行器初期入轨阶段的飞行程序:
表1:飞行器初期入轨阶段的飞行程序
由上表1可知,飞行程序文件中包括有飞行器在入轨初期运行阶段每一圈需要执行的多条飞行事件,用于指示飞行器按照上述飞行程序进行模拟飞行测试。由此可以理解,针对每一次模拟飞行测试均可以按照上述格式生成相应的飞行程序文件。
需要说明的是,事件触发时间可以为具体时刻,比如,2023年11月1日12:00:00;也可以将某一个事件发生时间作为基准时间,事件触发时间是以该基准时间和延迟时间的方式进行设置,比如上述表1中,对于事件名称为星箭分离的飞行事件,事件触发时间为T0=器件分离时刻,也就是说,当检测到器箭分离时将该器箭分离时刻作为T0时刻,对于事件名称为入轨起控的飞行事件,其事件触发时间为T0+10s,假设器件分离时刻为2023年11月1日12:00:00,那么入轨起控事件的事件触发时间为2023年11月1日12:00:10。
需要说明的是,上述表1的格式仅为一种示例,除上述格式以外,还可以采用其他格式生成飞行程序文件,只需要保证飞行程序文件中的多条飞行事件是以条目化的形式填入的,每一条飞行事件中至少包括如下类型的事件单元:事件触发时间、飞行动作事件和飞行判断事件。
本发明实施例中,在按照预设格式生成飞行程序事件后,能够实现自动对飞行程序事件中每一个事件单元的信息提取和识别,从而为自动生成测试用例脚本文件提供基础。
然后,针对步骤102,对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句生成本次模拟飞行测试的测试用例脚本文件。
每一条飞行事件是由多个事件单元组成的,在获取到飞行程序文件之后,可以读取该飞行程序文件以输出条目化的飞行事件。本发明实施例中,自动生成测试用例脚本文件的工具可以使用Python语言,在读取飞行程序文件时可以基于飞行程序文件的文本格式选择使用不同python库,比如,在飞行程序文件为word文件时,可以使用Python的python-docx库读取该飞行程序文件。
由于每一条飞行事件包括的事件单元的类型相同,因此每一条飞行事件的信息提取和识别方式以及可执行语句的转化方式均相同。
在本发明一个实施例中,所述对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,包括:
在所述事件单元的类型为事件触发时间时,则得到的提取和识别结果为该事件触发时间的时间字段;获取预先存储的与事件触发时间相对应的时间检测执行语句,将所述时间检测执行语句中的时间参数替换为该时间字段;
在所述事件单元的类型为飞行动作事件时,则得到的提取和识别结果为飞行动作事件的动作执行字段;从预先存储的动作事件库中找出与该动作执行字段相对应的飞行注入执行语句;
在所述事件单元的类型为飞行判断事件时,则得到的提取和识别结果为该飞行判断事件的物理参数以及该物理参数与目标物理量的关联关系;确定该物理参数所位于的目标文件的文件路径,所述目标文件中包含该物理参数在模拟飞行测试过程中的实时物理量;根据所述关联关系生成目标条件判断表达式;获取预先存储的与飞行判断事件相对应的条件判断执行语句,将所述条件判断执行语句中的文件路径参数替换为所述目标文件的文件路径,将所述条件判断执行语句中的条件判断表达式替换为所述目标条件判断表达式;
其中,所述时间检测执行语句在执行时用于检测当前时间是否到达该时间字段表征的时间,若是,则执行相应飞行注入执行语句;所述飞行注入执行语句在执行时用于使得航天器控制系统完成相应动作执行字段表征的动作;所述条件判断执行语句在执行时用于根据所述目标文件的文件路径从所述目标文件中读取相应物理参数的实时物理量,当实时物理量满足所述目标条件判断表达式时,则确定飞行动作事件完成。
以上述表1中设备加断电事件为例,针对事件触发时间、飞行动作事件和飞行判断事件的信息提取和识别方式以及可执行语句的转化方式进行说明。针对输出的设备加断电事件这一条飞行事件,根据事件单元在该条飞行事件中所处位置可以确定每一个事件单元的类型:
针对事件触发时间进行信息提取和识别得到识别结果为时间字段:T0 + 1s。预先针对事件触发时间存储有时间检测执行语句,该时间检测执行语句中包括有时间参数,通过时间检测执行语句中的时间参数替换为该时间字段“T0 + 1s”,可以得到该设备加断电事件这一条飞行事件中事件触发时间的可执行语句。
针对飞行动作事件进行信息提取和识别得到识别结果为动作执行字段:空间机构控制器备份断电,GNSS加电;由于飞行动作事件在航天器领域中是有限的,因此可以预先生成动作事件库,该动作事件库中包括动作执行字段和飞行注入执行语句的对应关系,比如:动作执行字段1-飞行注入执行语句1,动作执行字段2-飞行注入执行语句2……;通过利用动作执行字段“空间机构控制器备份断电,GNSS加电”在动作事件库中进行查找,可以查找到对应的飞行注入执行语句。
针对飞行判断事件进行信息提取和识别得到识别结果为物理参数以及该物理参数与目标物理量的关联关系:空间机构控制器模拟量(SCZR0004)在[0.0, 1.0],GNSS模拟量(SCZGK0015)在[3.0,4.5]。其中,物理参数“空间机构控制器模拟量(参数符号为SCZR0004)”对应的目标物理量为“[0.0, 1.0]”,其关联关系为“等于”;物理参数“GNSS模拟量(参数符号为SCZGK0015)”对应的目标物理量为“[0.0, 1.0]”,其关联关系为“等于”。根据该关联关系可以生成条件判断表达式,该条件判断表达式为SCZR0004=[0.0,1.0],SCZGK0015=[0.0, 1.0]。由于航天器飞行过程中的物理参数的物理量是实时变化的,且不同物理参数可能位于不同的文件中,因此,需要先确定物理参数所位于的目标文件的文件路径,假设两个物理参数位于同一个目标文件,且该目标文件的文件路径为“/a/ab”。预先针对飞行判断事件存储有条件判断执行语句,该条件判断执行语句中包括文件路径参数以及条件判断表达式,通过将条件判断执行语句中的文件路径参数替换为“/a/ab”,以及,将条件判断执行语句中的条件判断表达式替换为“SCZR0004=[0.0, 1.0]”和“SCZGK0015=[0.0, 1.0]”,可以得到该设备加断电事件这一条飞行事件中飞行判断事件的可执行语句。
针对该设备加断电事件,其时间检测执行语句在执行时用于检测当前时间是否达到“T0 + 1s”,若是,则执行该设备加断电事件的飞行注入执行语句;该飞行注入执行语句在执行时用于使得航天器控制系统实现对空间机构控制器备份断电和GNSS加电;执行该飞行注入执行语句的同时,执行该设备加断电事件的条件判断执行语句,该条件判断执行语句在执行时用于根据“/a/ab”从目标文件中读取出“SCZR0004”和“SCZGK0015”的实时物理量,当SCZR0004=[0.0, 1.0]且SCZGK0015=[0.0,1.0]时,则确定飞行动作事件完成。
本发明实施例中,根据上述方式可以得到每一条飞行事件所对应的时间检测执行语句、飞行注入执行语句和条件判断执行语句。然后按照预设的组合方式将每一条飞行事件的可执行语句进行组合,得到本次模拟飞行测试的测试用例脚本文件。该测试用例脚本文件的编码语言可以为Python语言,那么其文件后缀名可以为“”,能够供模拟飞行测试自动执行调用。
本发明实施例中,针对每一次的模拟飞行测试均可以利用上述方式自动生成测试用例脚本文件。
由于对航天器控制系统的测试需求复杂,模拟飞行测试的工况较多,再加上飞行周期的变化等因素,导致航天器控制系统的测试用例脚本文件非常多,而这些测试用例脚本文件所对应的飞行程序文件之间可能差异较少,当测试需求发生变化后,现有技术中测试人员是在历史模拟飞行测试的测试用例脚本文件中修改脚本文件。在本发明实施例中,测试人员可以直接在历史模拟飞行测试的飞行程序文件中进行修改,以得到本次模拟飞行测试的飞行程序文件。相对于现有技术中修改脚本文件,修改难度更低。
考虑到本次模拟飞行测试的飞行程序文件与历史模拟飞行测试的飞行程序文件之间的差异较少,可以表明本次模拟飞行测试的测试用例脚本文件与历史模拟飞行测试的测试用例脚本文件之间的差异也会较少,若能够直接对历史模拟飞行测试的测试用例脚本文件中差异的可执行语句进行修改,可以提高测试用例脚本文件的生成速度。
具体地,本发明一个实施例中,可以在所述获取用于本次模拟飞行测试的飞行程序文件之后,对所述飞行事件中的事件单元进行信息提取和识别之前,还可以包括如下步骤:
A1:确定当前是否存在历史模拟飞行测试的飞行程序文件和相应的测试用例脚本文件;若存在,则执行步骤A2;若不存在,则执行步骤A3;
A2:确定本次模拟飞行测试的飞行程序文件与历史模拟飞行测试的飞行程序文件之间的差异飞行事件,针对所述差异飞行事件执行所述对所述飞行事件中的事件单元进行信息提取和识别,以利用所述差异飞行事件的可执行语句对历史模拟飞行测试的测试用例脚本文件进行修改,得到本次模拟飞行测试的测试用例脚本文件;
A3:针对本次模拟飞行测试的飞行程序文件中的每一条飞行事件执行所述对所述飞行事件中的事件单元进行信息提取和识别。
本发明实施例中,只对差异飞行事件进行信息提取和识别以及可执行语句的转化过程,并直接利用历史模拟飞行测试的测试用例脚本文件进行修改,而不是全部飞行事件均进行信息提取和识别以及可执行语句的转化过程,可以大大提高测试用例脚本文件的生成速度,提高测试效率。
本发明实施例中,当存在历史模拟飞行测试的飞行程序文件和相应的测试用例脚本文件的情况下,由于不同差异类型的差异飞行事件,其修改方式不同,因此利用所述差异飞行事件的可执行语句对历史模拟飞行测试的测试用例脚本文件进行修改,具体可以包括:
A21:确定所述差异飞行事件的差异类型;所述差异类型包括:增加飞行事件、删除飞行事件和修改飞行事件;
A22:确定所述差异飞行事件在历史模拟飞行测试的测试用例脚本文件中的位置;
A23:根据所述差异飞行事件的可执行语句和差异类型,对所述历史模拟飞行测试的测试用例脚本文件中相应位置的可执行语句进行修改。
具体地,步骤A23可以包括:
在所述差异飞行事件的差异类型为增加飞行事件时,将所述差异飞行事件的可执行语句插入至所述历史模拟飞行测试的测试用例脚本文件中相应位置处;
在所述差异飞行事件的差异类型为删除飞行事件时,将所述历史模拟飞行测试的测试用例脚本文件中相应位置处的可执行语句删除;
在所述差异飞行事件的差异类型为修改飞行事件时,将所述历史模拟飞行测试的测试用例脚本文件中相应位置处的可执行语句修改为所述差异飞行事件的可执行语句。
本发明实施例中,测试人员只修改飞行程序文件,即可自动生成测试用例脚本文件,使得开发人员可以更加专注于测试需求的分析和优化,缩短了脚本文件的开发周期,也可以避免手动编写脚本文件的繁琐过程,降低了人工出错的可能性。
如图2、图3所示,本发明实施例提供了一种航天器控制系统的测试用例生成装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种航天器控制系统的测试用例生成装置所在电子设备的一种硬件架构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在电子设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种航天器控制系统的测试用例生成装置,包括:
获取单元300,用于获取用于本次模拟飞行测试的飞行程序文件;所述飞行程序文件是由人工按照预设格式填写的文本文件,所述飞行程序文件中包括条目化的多条飞行事件,所述多条飞行事件构成本次模拟飞行测试的飞行程序;
生成单元302,用于对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句生成本次模拟飞行测试的测试用例脚本文件;所述可执行语句所使用的编码语言与所述测试用例所使用的编码语言相同。
在本发明一个实施例中,每一条飞行事件至少包括如下类型的事件单元:事件触发时间、飞行动作事件和飞行判断事件。
在本发明一个实施例中,所述生成单元在对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句时,具体包括:
在所述事件单元的类型为事件触发时间时,则得到的提取和识别结果为该事件触发时间的时间字段;获取预先存储的与事件触发时间相对应的时间检测执行语句,将所述时间检测执行语句中的时间参数替换为该时间字段;
在所述事件单元的类型为飞行动作事件时,则得到的提取和识别结果为飞行动作事件的动作执行字段;从预先存储的动作事件库中找出与该动作执行字段相对应的飞行注入执行语句;
在所述事件单元的类型为飞行判断事件时,则得到的提取和识别结果为该飞行判断事件的物理参数以及该物理参数与目标物理量的关联关系;确定该物理参数所位于的目标文件的文件路径,所述目标文件中包含该物理参数在模拟飞行测试过程中的实时物理量;根据所述关联关系生成目标条件判断表达式;获取预先存储的与飞行判断事件相对应的条件判断执行语句,将所述条件判断执行语句中的文件路径参数替换为所述目标文件的文件路径,将所述条件判断执行语句中的条件判断表达式替换为所述目标条件判断表达式;
其中,所述时间检测执行语句在执行时用于检测当前时间是否到达该时间字段表征的时间,若是,则执行相应飞行注入执行语句;所述飞行注入执行语句在执行时用于使得航天器控制系统完成相应动作执行字段表征的动作;所述条件判断执行语句在执行时用于根据所述目标文件的文件路径从所述目标文件中读取相应物理参数的实时物理量,当实时物理量满足所述目标条件判断表达式时,则确定飞行动作事件完成。
在本发明一个实施例中,所述生成单元还用于:确定当前是否存在历史模拟飞行测试的飞行程序文件和相应的测试用例脚本文件;若存在,则确定本次模拟飞行测试的飞行程序文件与历史模拟飞行测试的飞行程序文件之间的差异飞行事件,针对所述差异飞行事件执行所述对所述飞行事件中的事件单元进行信息提取和识别,以利用所述差异飞行事件的可执行语句对历史模拟飞行测试的测试用例脚本文件进行修改,得到本次模拟飞行测试的测试用例脚本文件;若不存在,则针对本次模拟飞行测试的飞行程序文件中的每一条飞行事件执行所述对所述飞行事件中的事件单元进行信息提取和识别。
在本发明一个实施例中,所述生成单元在利用所述差异飞行事件的可执行语句对历史模拟飞行测试的测试用例脚本文件进行修改时,具体包括:
确定所述差异飞行事件的差异类型;所述差异类型包括:增加飞行事件、删除飞行事件和修改飞行事件;
确定所述差异飞行事件在历史模拟飞行测试的测试用例脚本文件中的位置;
根据所述差异飞行事件的可执行语句和差异类型,对所述历史模拟飞行测试的测试用例脚本文件中相应位置的可执行语句进行修改。
在本发明一个实施例中,所述生成单元在对所述历史模拟飞行测试的测试用例脚本文件中相应位置的可执行语句进行修改时,具体包括:
在所述差异飞行事件的差异类型为增加飞行事件时,将所述差异飞行事件的可执行语句插入至所述历史模拟飞行测试的测试用例脚本文件中相应位置处;
在所述差异飞行事件的差异类型为删除飞行事件时,将所述历史模拟飞行测试的测试用例脚本文件中相应位置处的可执行语句删除;
在所述差异飞行事件的差异类型为修改飞行事件时,将所述历史模拟飞行测试的测试用例脚本文件中相应位置处的可执行语句修改为所述差异飞行事件的可执行语句。
在本发明一个实施例中,所述测试用例所使用的编码语言为Python语言。
可以理解的是,本发明实施例示意的结构并不构成对一种航天器控制系统的测试用例生成装置的具体限定。在本发明的另一些实施例中,一种航天器控制系统的测试用例生成装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种航天器控制系统的测试用例生成方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种航天器控制系统的测试用例生成方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (11)

1.一种航天器控制系统的测试用例生成方法,其特征在于,包括:
获取用于本次模拟飞行测试的飞行程序文件;所述飞行程序文件是由人工按照预设格式填写的文本文件,所述飞行程序文件中包括条目化的多条飞行事件,所述多条飞行事件构成本次模拟飞行测试的飞行程序;
对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句生成本次模拟飞行测试的测试用例脚本文件;所述可执行语句所使用的编码语言与所述测试用例所使用的编码语言相同;
每一条飞行事件至少包括如下类型的事件单元:事件触发时间、飞行动作事件和飞行判断事件;
所述对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,包括:
在所述事件单元的类型为事件触发时间时,则得到的提取和识别结果为该事件触发时间的时间字段;获取预先存储的与事件触发时间相对应的时间检测执行语句,将所述时间检测执行语句中的时间参数替换为该时间字段;
在所述事件单元的类型为飞行动作事件时,则得到的提取和识别结果为飞行动作事件的动作执行字段;从预先存储的动作事件库中找出与该动作执行字段相对应的飞行注入执行语句;
在所述事件单元的类型为飞行判断事件时,则得到的提取和识别结果为该飞行判断事件的物理参数以及该物理参数与目标物理量的关联关系;确定该物理参数所位于的目标文件的文件路径,所述目标文件中包含该物理参数在模拟飞行测试过程中的实时物理量;根据所述关联关系生成目标条件判断表达式;获取预先存储的与飞行判断事件相对应的条件判断执行语句,将所述条件判断执行语句中的文件路径参数替换为所述目标文件的文件路径,将所述条件判断执行语句中的条件判断表达式替换为所述目标条件判断表达式;
其中,所述时间检测执行语句在执行时用于检测当前时间是否到达该时间字段表征的时间,若是,则执行相应飞行注入执行语句;所述飞行注入执行语句在执行时用于使得航天器控制系统完成相应动作执行字段表征的动作;所述条件判断执行语句在执行时用于根据所述目标文件的文件路径从所述目标文件中读取相应物理参数的实时物理量,当实时物理量满足所述目标条件判断表达式时,则确定飞行动作事件完成。
2.根据权利要求1所述的方法,其特征在于,在所述获取用于本次模拟飞行测试的飞行程序文件之后,对所述飞行事件中的事件单元进行信息提取和识别之前,还包括:
确定当前是否存在历史模拟飞行测试的飞行程序文件和相应的测试用例脚本文件;
若存在,则确定本次模拟飞行测试的飞行程序文件与历史模拟飞行测试的飞行程序文件之间的差异飞行事件,针对所述差异飞行事件执行所述对所述飞行事件中的事件单元进行信息提取和识别,以利用所述差异飞行事件的可执行语句对历史模拟飞行测试的测试用例脚本文件进行修改,得到本次模拟飞行测试的测试用例脚本文件;
若不存在,则针对本次模拟飞行测试的飞行程序文件中的每一条飞行事件执行所述对所述飞行事件中的事件单元进行信息提取和识别。
3.根据权利要求2所述的方法,其特征在于,所述利用所述差异飞行事件的可执行语句对历史模拟飞行测试的测试用例脚本文件进行修改,包括:
确定所述差异飞行事件的差异类型;所述差异类型包括:增加飞行事件、删除飞行事件和修改飞行事件;
确定所述差异飞行事件在历史模拟飞行测试的测试用例脚本文件中的位置;
根据所述差异飞行事件的可执行语句和差异类型,对所述历史模拟飞行测试的测试用例脚本文件中相应位置的可执行语句进行修改。
4.根据权利要求3所述的方法,其特征在于,对所述历史模拟飞行测试的测试用例脚本文件中相应位置的可执行语句进行修改,包括:
在所述差异飞行事件的差异类型为增加飞行事件时,将所述差异飞行事件的可执行语句插入至所述历史模拟飞行测试的测试用例脚本文件中相应位置处;
在所述差异飞行事件的差异类型为删除飞行事件时,将所述历史模拟飞行测试的测试用例脚本文件中相应位置处的可执行语句删除;
在所述差异飞行事件的差异类型为修改飞行事件时,将所述历史模拟飞行测试的测试用例脚本文件中相应位置处的可执行语句修改为所述差异飞行事件的可执行语句。
5.根据权利要求1-4中任一所述的方法,其特征在于,所述测试用例所使用的编码语言为Python语言。
6.一种航天器控制系统的测试用例生成装置,其特征在于,包括:
获取单元,用于获取用于本次模拟飞行测试的飞行程序文件;所述飞行程序文件是由人工按照预设格式填写的文本文件,所述飞行程序文件中包括条目化的多条飞行事件,所述多条飞行事件构成本次模拟飞行测试的飞行程序;
生成单元,用于对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句,并利用转化得到的可执行语句生成本次模拟飞行测试的测试用例脚本文件;所述可执行语句所使用的编码语言与所述测试用例所使用的编码语言相同;
每一条飞行事件至少包括如下类型的事件单元:事件触发时间、飞行动作事件和飞行判断事件;
所述生成单元在对所述飞行事件中的事件单元进行信息提取和识别,将得到的提取和识别结果转化为相应的可执行语句时,具体包括:
在所述事件单元的类型为事件触发时间时,则得到的提取和识别结果为该事件触发时间的时间字段;获取预先存储的与事件触发时间相对应的时间检测执行语句,将所述时间检测执行语句中的时间参数替换为该时间字段;
在所述事件单元的类型为飞行动作事件时,则得到的提取和识别结果为飞行动作事件的动作执行字段;从预先存储的动作事件库中找出与该动作执行字段相对应的飞行注入执行语句;
在所述事件单元的类型为飞行判断事件时,则得到的提取和识别结果为该飞行判断事件的物理参数以及该物理参数与目标物理量的关联关系;确定该物理参数所位于的目标文件的文件路径,所述目标文件中包含该物理参数在模拟飞行测试过程中的实时物理量;根据所述关联关系生成目标条件判断表达式;获取预先存储的与飞行判断事件相对应的条件判断执行语句,将所述条件判断执行语句中的文件路径参数替换为所述目标文件的文件路径,将所述条件判断执行语句中的条件判断表达式替换为所述目标条件判断表达式;
其中,所述时间检测执行语句在执行时用于检测当前时间是否到达该时间字段表征的时间,若是,则执行相应飞行注入执行语句;所述飞行注入执行语句在执行时用于使得航天器控制系统完成相应动作执行字段表征的动作;所述条件判断执行语句在执行时用于根据所述目标文件的文件路径从所述目标文件中读取相应物理参数的实时物理量,当实时物理量满足所述目标条件判断表达式时,则确定飞行动作事件完成。
7.根据权利要求6所述的装置,其特征在于,所述生成单元还用于:确定当前是否存在历史模拟飞行测试的飞行程序文件和相应的测试用例脚本文件;若存在,则确定本次模拟飞行测试的飞行程序文件与历史模拟飞行测试的飞行程序文件之间的差异飞行事件,针对所述差异飞行事件执行所述对所述飞行事件中的事件单元进行信息提取和识别,以利用所述差异飞行事件的可执行语句对历史模拟飞行测试的测试用例脚本文件进行修改,得到本次模拟飞行测试的测试用例脚本文件;若不存在,则针对本次模拟飞行测试的飞行程序文件中的每一条飞行事件执行所述对所述飞行事件中的事件单元进行信息提取和识别。
8.根据权利要求7所述的装置,其特征在于,所述生成单元在利用所述差异飞行事件的可执行语句对历史模拟飞行测试的测试用例脚本文件进行修改时,具体包括:
确定所述差异飞行事件的差异类型;所述差异类型包括:增加飞行事件、删除飞行事件和修改飞行事件;
确定所述差异飞行事件在历史模拟飞行测试的测试用例脚本文件中的位置;
根据所述差异飞行事件的可执行语句和差异类型,对所述历史模拟飞行测试的测试用例脚本文件中相应位置的可执行语句进行修改。
9.根据权利要求8所述的装置,其特征在于,所述生成单元在对所述历史模拟飞行测试的测试用例脚本文件中相应位置的可执行语句进行修改时,具体包括:
在所述差异飞行事件的差异类型为增加飞行事件时,将所述差异飞行事件的可执行语句插入至所述历史模拟飞行测试的测试用例脚本文件中相应位置处;
在所述差异飞行事件的差异类型为删除飞行事件时,将所述历史模拟飞行测试的测试用例脚本文件中相应位置处的可执行语句删除;
在所述差异飞行事件的差异类型为修改飞行事件时,将所述历史模拟飞行测试的测试用例脚本文件中相应位置处的可执行语句修改为所述差异飞行事件的可执行语句。
10.一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-5中任一项所述的方法。
CN202311616279.1A 2023-11-30 2023-11-30 航天器控制系统的测试用例生成方法及装置 Active CN117312177B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311616279.1A CN117312177B (zh) 2023-11-30 2023-11-30 航天器控制系统的测试用例生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311616279.1A CN117312177B (zh) 2023-11-30 2023-11-30 航天器控制系统的测试用例生成方法及装置

Publications (2)

Publication Number Publication Date
CN117312177A CN117312177A (zh) 2023-12-29
CN117312177B true CN117312177B (zh) 2024-02-09

Family

ID=89255748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311616279.1A Active CN117312177B (zh) 2023-11-30 2023-11-30 航天器控制系统的测试用例生成方法及装置

Country Status (1)

Country Link
CN (1) CN117312177B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015012814A1 (en) * 2013-07-23 2015-01-29 Landmark Graphics Corporation Automated generation of scripted and manual test cases
CN108804322A (zh) * 2018-06-05 2018-11-13 中国平安人寿保险股份有限公司 自动化测试方法、装置、计算机设备及存储介质
CN114896824A (zh) * 2022-07-12 2022-08-12 南昌航空大学 联合仿真集成测试验证方法、装置、可读存储介质及设备
CN114896158A (zh) * 2022-05-24 2022-08-12 东软睿驰汽车技术(沈阳)有限公司 Bms的测试方法以及测试装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015012814A1 (en) * 2013-07-23 2015-01-29 Landmark Graphics Corporation Automated generation of scripted and manual test cases
CN108804322A (zh) * 2018-06-05 2018-11-13 中国平安人寿保险股份有限公司 自动化测试方法、装置、计算机设备及存储介质
CN114896158A (zh) * 2022-05-24 2022-08-12 东软睿驰汽车技术(沈阳)有限公司 Bms的测试方法以及测试装置
CN114896824A (zh) * 2022-07-12 2022-08-12 南昌航空大学 联合仿真集成测试验证方法、装置、可读存储介质及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
飞行控制软件单元测试方法研究;刘思思;刘迪;;软件导刊(第05期);全文 *

Also Published As

Publication number Publication date
CN117312177A (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
CN109086199B (zh) 一种自动化生成测试脚本的方法、终端和可存储介质
CN109710508B (zh) 测试方法、测试装置、测试设备及计算机可读存储介质
US7313514B2 (en) Validating content of localization data files
CN105608012A (zh) 一种自动化测试方法及系统
CN108363634B (zh) 一种业务处理失败原因识别方法、装置及设备
CN102804147A (zh) 执行abap源代码的代码检查的代码检查执行系统
CN109542412A (zh) 接口信息生成方法、装置、计算机设备和存储介质
CN109471634B (zh) 源代码格式的检查方法及设备
CN111078481B (zh) 获取配置检查清单的方法、装置、电子设备及存储介质
JP2021131862A (ja) 新規カテゴリタグの発掘方法及び装置、電子デバイス、コンピュータ可読媒体、ならびにコンピュータプログラム製品
JP6778655B2 (ja) 単語連接識別モデル学習装置、単語連接検出装置、方法、及びプログラム
CN103688254A (zh) 用于自动评估写作的基于示例的错误检测系统、方法及错误检测设备
CN112231407A (zh) PostgreSQL数据库的DDL同步方法、装置、设备和介质
CN109710523B (zh) 视觉稿的测试用例生成方法及装置、存储介质、电子设备
Fischbach et al. Cira: A tool for the automatic detection of causal relationships in requirements artifacts
CN117312177B (zh) 航天器控制系统的测试用例生成方法及装置
CN110543641B (zh) 一种中外文信息对比方法及装置
CN109474822B (zh) 一种安卓电视多国语言自动化测试的方法及装置
Ule et al. Unexpected Productions May Well be Errors.
CN116663489A (zh) 一种rtl模块复位方法、装置、电子设备及存储介质
CN114153929B (zh) 测试数据判读方法、装置、电子设备和存储介质
US20180322034A1 (en) Running test scripts in multiple language platforms
Masciolini et al. Towards automatically extracting morphosyntactical error patterns from L1-L2 parallel dependency treebanks
US20200167152A1 (en) Identification of a partial code to be refactored within a source code
Xie et al. Extracting Space Situational Awareness Events from News Text

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant