一种航天器测试需求自动生成系统及其方法
【技术领域】
[0001] 本发明属于系统测试领域,涉及一种在航天器测试中的测试需求自动生成的系统 与方法。
【背景技术】
[0002] 航天器是一种安全攸关的实时系统。对于航天器的测试需求必须既可以描述被测 系统的功能、性能特征,也能够描述系统的约束。测试需求模型是用来指导测试人员开展后 续测试活动、方便测试人员与设计人员之间的沟通的工具。测试需求文档是测试人员通过 《开发需求说明书》、《接口控制文档》、《设计文档》和《用户手册》整理得来,帮助测试人员设 计出更贴近需求的测试的文档。也可以帮助测试人员准确的了解需求的变化从而快速更改 测试方案。
[0003] 由于航天器系统作为高集成度复杂电子系统的典型,其测试需求达到上万项。现 有的测试需求生成方法集中在如何获取被测系统的静态需求,而在获取动态需求方面现有 方法则过于复杂,不便于测试人员理解和使用。因此在目前的工程实践中,由于系统过于复 杂,测试人员通常依据其测试经验人工编写测试需求文档。这极大的延长了测试工作的时 间。为了减少重复性工作,加快测试进度,实现测试需求的自动生成是非常有必要的。
[0004] 目前关于测试需求模型的主要研宄有面向UUT (Unit Under Test,被测模块)的测 试需求模型,和基于模型测试需求模型。其中面向UUT的测试需求模型主要面向的是测试 设备和测试单元,通过分析被测系统的逻辑给出测试所需要的激励信号,是从硬件层面对 被测单元进行测试需求建模。基于模型特别是基于UML(Unified Modeling Language,标准 建模语言)的测试需求模型,其主要是通过状态图和类图描述被测系统,对被测系统的静 态结构和动态结构进行测试需求建模。但是这些工作都是以理论研宄为主,仅给出一种测 试需求建模方法,测试人员仍然需要通过人工的方式生成测试需求。而如何从测试需求模 型生成真正满足实际的测试需求的技术和方法却很少。
【发明内容】
[0005] 本发明为了减少测试人员选取测试需求的时间,提高测试效率。提供了一种面向 航天器的测试需求自动化获取系统及方法。本发明通过分析被测系统基于UML的状态转换 图和交联图的测试需求模型,并根据被测系统级别和一种遍历算法,找出被测系统的测试 需求。被获取的测试需求可以根据用户要求转变成不同格式的文本输出。
[0006] 本发明提供了一种航天器测试需求自动生成系统,包括测试需求库、UML模型读取 模块、被测目标抽取模块和测试需求构建模块。针对被测航天器按照模块级、单机级、分系 统级和系统级分别绘制基于UML的状态转换图和交联图。
[0007] 所述的测试需求库是经过积累的各型号被测系统、分系统、单机和模块所需的测 试需求,包含环境测试需求库、总线测试需求库和接口测试需求库。测试需求库的数据结构 包括:被测产品名称,被测产品类型,被测产品测试需求,被测产品的接口名称和接口类型, 以及被测产品关联的总线名称和总线类型。
[0008] 所述的UML模型读取模块对基于UML的状态转换图和交联图抽取对应的XML存储 结构,并将状态转换图和交联图转换为XML格式的模型存储。在XML格式的交联图模型中, 将被测产品以类视图来描述,类视图包含被测类、交联类、类之间的连接方式和接口数据; 交联图模型的属性中包括是否为被测类、类的ID、类名和类的类型,与被测类连接的总线的 属性包括总线ID、总线名称和总线类型,类的接口数据包括接口 ID、接口名称和接口类型。
[0009] 所述的被测目标抽取模块的功能包括被测目标测试环境抽取和被测目标测试环 境测试需求查询。被测目标测试环境抽取具体是:当测试需求为模块级或者单机级时,从 交联图模型中选取所有被测产品,从中抽取被测产品对应的类名以及被测产品的各个接口 的接口名称;当测试需求为系统级和分系统级时,遍历模型中所有被测产品,抽取与被测产 品相关联的总线名称,抽取被测产品对应的类名以及被测产品的各个接口的接口名称;根 据抽取到的被测产品名称、总线名称和接口名称从测试需求库中筛选出所需的接口测试需 求、总线测试需求和环境测试需求。被测目标测试环境测试需求查询是:根据类名和总线名 称从测试需求库中查找对应的产品名称,选出所需要的环境测试需求。
[0010] 所述的测试需求构建模块用于构建静态测试需求和动态测试需求;构建静态测试 需求是指将被测目标抽取模块获取的接口测试需求、总线测试需求和环境测试需求输出。 构建动态测试需求的过程是:读取状态转换图模型,遍历所有状态迀移路径,对每个状态迀 移路径,从起始状态开始,依次找出各个状态的后续状态和迀移条件,对选择的每个状态添 加已访问过的标记,列出所有实现转移的状态形成功能测试需求,列出所有迀移条件形成 约束测试需求,输出功能测试需求和约束测试需求。
[0011] 本发明提供了一种航天器测试需求自动生成方法,主要包括如下步骤:
[0012] 步骤一:针对航天器测试,定义系统、分系统、单机和模块四个级别的测试需求,对 被测航天器按照模块级,单机级,分系统级和系统级分别绘制基于UML的状态转换图和交 联图,抽取状态转换图和交联图对应的XML存储结构,并将状态转换图和交联图转换成XML 格式的模型存储。
[0013] 在XML格式的交联图模型中,将被测产品以类视图来描述,类视图包含被测类、交 联类、类之间的连接方式和接口数据;交联图模型的属性中包括是否为被测类、类的ID、类 名和类的类型,与被测类连接的总线的属性包括总线ID、总线名称和总线类型,类的接口数 据包括接口 ID、接口名称和接口类型。
[0014] 将被测系统的逻辑结构转换成由串行,并行,选择和循环等单元构成XML格式的 状态转换图模型;将被测系统的物理结构转换成由黑盒、接口和总线等单元构成的XML格 式的交联图模型。
[0015] 步骤二:判断当前测试需求级别,若级别为模块级或单机级,则读取交联图模型, 遍历交联图模型中所有被测产品,从中抽取被测产品对应的类名和被测产品的各个接口的 接口名称;若级别为系统级或分系统级,则读取交联图模型,遍历模型中所有被测产品,从 交联图模型中抽取与被测产品相关联的总线名称,抽取被测产品对应的类名以及被测产品 的各个接口的接口名称。
[0016] 步骤三:根据抽取到的被测产品对应的类名、总线名称和接口名称从已有的测试 需求库中筛选出接口测试需求、总线测试需求和测试环境测试需求。
[0017] 步骤四:读取状态转换图模型,具体是:从状态转换图中的起始状态开始,依次找 出各个状态的后续状态和迀移条件,当选择一个后续状态时在该状态上添加已访问过的标 记。若一个状态有两个以上的后续状态,则随机选取一个没有被标记已访问过的状态继续, 直至遇到终止状态,然后执行步骤五。
[0018] 步骤五:判断终止状态是否还有未遍历的路径。若存在未遍历的路径,则返回距离 终止状态最近的分支状态,执行步骤四;若不存在未遍历的路径,执行步骤六。
[0019] 步骤六:在功能测试区域列出每一个实现转移的状态,形成功能测试需求,列举完 成后执行步骤七。
[0020] 步骤七:在约束测试区域依次列出约束测试需求,列举完成后执行步骤八。
[0021] 步骤八:将接口测试需求、总线测试需求、环境测试需求、功能测试需求和约束测 试需求合并成为测试需求分析表输出。
[0022] 相比现有技术,本发明的优点和积极效果在于:
[0023] (1)完备性:本发明通过航天器各类型的测试需求字段的完备定义,实现了对航 天器测试需求模型中所包含信息完备的抽取。通过自动化的测试需求文档生成方法保障了 测试需求文档内容的完备性;
[0024] (2)易用性:本发明所给出的测试需求自动生成系统及其方法简单易用,具有可 视化模块,可在图形界面进行操作,操作简单易用,方法接口调用易用性强,方便与其它模 块集成;
[0025] (3)通用性:本发明提出的一种航天器测试需求自动生成系统及其方法,在实际 应用中针对特定领域工程,采用此方法对交联图获取和状态转换图模型读取接口进行适当 修改即可满足本领域需求;
[0026] (4)实用性:在航天器测试中,由于实际工程的结构特点,大量的静态测试需求具 有通用性,而动态测试需求可以由系统功能实现进行分析,本发明提出的一种航天器测试 需求自动生成系统及其方法,可以根据测试需求模型自动生成测试需求,对帮助测试人员 对被测系统的理解,减少重复工作,方便测试需求编写,提高工作效率具有重大意义,可以 满足工程实际需求,具有一定的实用性;
[0027] (5)兼容性:本发明在设计时已经考虑到在不同测试层级,并应用在不同型号系 统下使用,实现不同型号下的测试需求自动抽取;同时可以依照不同的项目,不同的安全等 级选择不同的测试需求库文件进行测试需求抽取。
[0028] (6)可复用性:本发明在设计时采用了 UML来描述被测产品,通过将UML转换成为 XML文件进行读取,由于UML和XML都是标准化的建模方法,该测试需求自动获取方法具有 可复用性。
[0029] (7)可维护性:本发明采取接口类型和被测产品类型对测试需求库中的测试需求 进行管理,可以方便测试人员测试需求库。针对不同的型号,将通过测试经验获得的新的测 试需求知识添加入测试需求库。
[0030] (8)可扩展性:本发明通过定义被测产品ID和类型为后续的测试需求文档管理提 供了文档管理依据。
【附图说明】
[0031] 图1为本发明的测试需求自动生成系统的结构示意图;
[0032] 图2为本发明的测试需求自动生成方法的整体流程图。
[0033] 具体实施方法
[0034] 下文中将参考附图并结合实施来详细说明本发明。
[0035] 根据航天器测