基于深度优先的软件无线电符合性测试方法与流程

文档序号:36323490发布日期:2023-12-09 05:08阅读:120来源:国知局

本发明涉及测试方法,特别是基于深度优先的软件无线电符合性测试方法。


背景技术:

1、软件无线电(software defined radio,sdr)技术是当前非常流行的一种软件无线通信技术,该技术基于一个通用的硬件平台,通过软件编程的方式来实现的不同电台波形所需功能的技术架构,将无线电技术从传统的基于硬件平台的电台技术中剥离出来,改变了基于硬件的无线电功能参数固定且不同制式的通讯设备之间难以实现互联互通的现状,使电台技术拥有更强的灵活性与扩展性,该技术能提高无线电波形开发的效率,降低无线电波形开发的成本,提升sdr软件平台的硬件无关性。

2、sdr概念出现后,各国研制的sdr系统各不相同,为了保障sdr系统规范化、标准化,联合战术网络中心(jtnc)发布了关于软件无线电体系结构的规范集softwarecommunication architecture(sca)标准,是被认可的关于软件无线电体系结构的唯一标准。

3、sca标准是一个开放式的、独立与系统实现的软件架构标准,它主要概述了sdr系统中软件平台与硬件设备交互工作的过程,其目的是实现无线电通讯设备硬件模块化,确保各个设备之间能够相互联通。sca主要应用于波形的开发与实现的软件框架,是系统顶层的设计规范,它涉及到sdr系统的软件、硬件体系结构以及上层应用程序的接口。sca体系结构分为6层,分别为总线层、网络和串行接口层、操作系统层、corba中间件层、核心框架(core framework,以下简称cf)层、应用层。其中cf是开放软件接口和配置文件的集合,用于对通信系统中的软件应用单元进行配置、管理、互联互通。可以作为操作系统的一部分,为软件应用的设计提供底层软件和硬件的抽象,为软件开发带来了高度可重构性。使用核心框架的目的就是将应用与第三方技术隔离,不管是谁来开发这个应用,只要在sca核心框架之下都能够很好的运行。这也是其成为核心框架的重要原因。

4、虽然sca标准是一个相对成熟的无线电通信系统的设计规范,但针对该标准的符合性测试的研究还相对匮乏。目前已公开的测试软件针对的是2006年发布的sca2.2.2(sca标准的2.2.2版本)的规范符合性测试 (joint tactical networking center 2022),对于sca4.1(sca标准的4.1版本)规范符合性的测试还有较多的缺口 (winnforum standards2018)。

5、sca规范符合性测试不同于软件测试,它的主要目的是检验厂家按照sca规范实现的软件是否与规范规定的内容一致,所以实现测试时不会有冗余的测试用例,即每条测试需求只有一个测试用例。sca规范符合性测试与模型关联,测试时需要注意模型的状态迁移,所以现有sca规范符合性测试的研究都是围绕sdr系统状态迁移的概念展开的。

6、现有的sca规范符合性测试方式分为传统和现代两种方式:

7、1)如图1所示,传统的sca规范符合性测试方式是根据sca规范中定义的需求项,按照改变测试系统状态的方向,人工排列测试的顺序形成包含部分测试项的测试集,所有测试项被分成多个测试序列的集合,形成最终的测试序列,最后按照测试序列执行测试。由于执行了所有sca规范符合性测试项,按照此方法完成的测试被认为是完全覆盖了符合性测试的需求。

8、2)如图2所示,现代的sca规范符合性测试方式是结合状态迁移图和智能搜索算法,首先生成可执行测试序列,在所有的测试集合中寻找能够覆盖测试需求的子集中的规模最小的最优测试集,满足所有测试需求的最优测试集的集合作为最终测试集。由于集合是筛选的结果,所以执行测试时不会将所有测试都执行,提高了测试准确率和测试效率。按此集合进行sca规范符合性测试则能够满足sca规范符合性测试的完全覆盖需求 (唐, 以及其他人 2020) (张, 伍, 以及其他人 2021) (张, 张, 以及其他人 2021)。

9、使用上述测试方法的过程中,在对任意组件进行sca规范符合性测试时,都包含了大量的测试序列。人工或使用算法生成一套测试顺序,这样的方法对测试人员和测试集生成算法都有较高的要求,且存在设计疏漏时,测试结果的可靠性不易得到保障。再者,为了保障sdr系统能够正常的运行,一些重要的需求需要进行循环多次的执行,这需要保障设计的sca规范符合性测试用例在自动化测试过程中能够稳定、可靠,且能够恢复sca规范符合性测试环境,不影响其他sca规范符合性测试项的测试。


技术实现思路

1、本发明提供了一种基于深度优先的软件无线电符合性测试方法,以能够提高测试效率,达到完全覆盖测试的需求,有效验证无线电平台产品的sca规范符合性,同时保障测试的稳定性、可靠性,减少开发软件无线电符合性测试软件的周期。

2、本发明基于深度优先的软件无线电符合性测试方法,包括:

3、步骤1:将符合sca规范的顶层的域管理器作为初始节点的操作对象,创建一个前置条件列表,用于记录测试的前置条件;

4、步骤2:根据sca规范中的测试需求,将sca规范中定义的接口作为测试节点的前置条件,搜索测试节点的前置条件是否满足,如果所述前置条件不满足,则将此时的前置条件作为次测试需求,并记录到所述前置条件列表中后,执行步骤3;如果前置条件满足,则执行步骤5;

5、步骤3:对于所述次测试需求,根据sca规范判断,如果测试需求的操作位于所述域管理器中,则通过域管理器执行相关操作以满足次测试需求,否则返回步骤2;

6、步骤4:所有次测试需求都满足后,则表明测试节点的前置条件都已满足,执行步骤5,否则返回步骤3;

7、步骤5:按照测试需求调用相关接口执行测试节点,获取测试结果,完成测试需求;

8、步骤6:如果对测试节点的测试修改了系统状态,则倒序执行前置条件列表中记录的前置条件,进行测试的逆操作,将系统恢复到测试前的状态。

9、现有技术中,在实现的每个测试里,由于都只包含了测试步骤本身,需求的对象是由当前测试之外的测试提供的,这个顺序取决于sca系统的状态迁移顺序,且每个顺序都是以初始化状态为起点,以终止状态为终点。因此现有技术都是先根据测试状态的转移关系构建测试序列,生成一个测试集,此测试集就会包含需要测试的项。现有测试之所以要生成测试集就是要得到一个符合这个顺序的测试序列,且在测试序列中包含测试需求的节点。现有技术在测试时就会严格满足从初始到终止的执行顺序,因此不需要强调和实现逆操作。

10、而本发明将所有测试都做了独立处理,根据sca规范中cf(核心框架)的接口规范,所有测试用例在实现时就已经将执行测试的前置条件都检查并执行,且在测试之后还能够逆向执行前置条件以恢复测试之前的系统状态,所以在sca测试的系统中,每个测试用例都具有单独运行的能力,在测试阶段就不需要再获取现有测试技术中常用的用于测试的测试集了。

11、本发明是在测试用例内,通过回溯测试的前置条件和测试后的逆操作两者的结合,实现了测试不改变系统状态的目的,所以在测试阶段就不需要再规划组合测试的顺序,也就不需要生成测试集,由此便剔除了测试时依赖测试集的弊端,避免了设计疏漏时测试结果的可靠性不易得到保障的问题,达到了实现测试需求后保障测试不改变系统状态的目的,避免了传统的测试序列不合理时造成测试崩溃的问题,大幅度提高了测试的可靠性。

12、本发明的构思是将深度优先搜索(dfs)直接运用到实现sca测试用例的过程中。深度优先搜索属于图算法的一种,其过程简要来说是在遍历图的时候对每一个可能的分支路径一直向下搜索直到找到最深的结点,没找到就返回到(回溯法)。具体过程是,选择一个起始点u作为当前结点,执行如下操作:

13、a.访问当前结点u,并且标记该结点已被访问;

14、b.如果存在一个和当前结点u相邻并且尚未被访问的结点v,则将v设为当前结点,继续执行a;

15、c.如果在当前扩展结点处不能再向纵深方向移动,则当前扩展结点就成为死结点。此时,往回移动(回溯)至最近的活结点处,并使这个活结点成为当前扩展结点。

16、在实现sca规范符合性测试时,可以将cf的框架结构等效为一个可被搜索的图,在图中包括有域管理器、设备管理器、文件管理器、应用工厂、应用管理器、文件系统、设备、文件等多个结点,这些结点相互关联形成图结构。搜索的方式就是采用深度优先的思想,将域管理器作为根节点,测试需求为目标节点(可能是节点本身,也可能是节点对象的某个操作函数)。搜索时,先判断目标是不是在域管理器上,如果是,则前置条件自动满足;若不是,则从根节点出发,按照dfs的方式找到从根节点到目标节点的路径,在这条路径上,位于目标节点之前的节点就是当前测试需求的前置条件,若此节点的全局对象存在且可以通过节点的递进关系获取到测试需求的节点对象,则此前置条件满足,否则不满足前置条件。

17、进一步的,在步骤6进行测试的逆操作时,如果测试时存在次测试需求,则倒序执行前置条件列表中记录的次测试需求,直到所有的次测试需求都被依次逆转为止。

18、由于次测试需求同样是来源于前置条件表,如果当前测试节点的测试使其前置条件也改变了状态,则需要根据前置条件表去逆操作恢复前置条件的状态,因此需要倒序执行前置条件列表中记录的次测试需求。

19、进一步的,步骤2中搜索和判断前置条件是否满足的方式为:先在sca规范中找到测试节点对应的测试函数的接口,然后在程序中检查此接口的全局对象是否可用,如果不可用,则根据sca规范向上查找此接口的继承接口,再次检查此继承接口的全局对象是否可用,依次类推,直到全局接口为域管理器接口为止,能够获取到前置条件的全局接口即为满足了前置条件。

20、进一步的,步骤3中,当测试需求的操作位于所述域管理器之外时,返回步骤2,并回溯到当前测试节点的上一节点,将所述上一节点作为测试节点再次执行步骤2,直到通过各层级节点的依赖关联将测试需求的操作递进到所述当前测试节点。

21、进一步的,如果测试时破坏了测试组件的运行状态,步骤6中所述逆操作则对该测试组件的运行状态进行重置。

22、具体的,所述对该测试组件的运行状态进行重置,指的是如果测试时执行了增加组件或启动组件,逆操作则减少组件或停止组件,如果测试时执行了减少组件或停止组件,逆操作则增加组件或启动组件。

23、本发明的有益效果包括:

24、1、通过本发明实现的测试项,能够完全覆盖当前sca标准符合性的需求。

25、2、能够大幅度提高测试效率,明显减少了开发软件无线电符合性测试软件的周期,同时保障了测试的稳定性和可靠性。

26、3、将每次测试都设计成了独立的测试流程,通过逆操作将测试用例和系统都恢复到了执行当前测试用例之前的状态,因此消除了当前测试对系统的影响,因此测试用例的执行顺序不会改变测试结果,在整体测试和随机测试中,都不需要考虑测试顺序对测试结果的影响。

27、4、剔除了测试时依赖测试集的弊端,避免了设计疏漏时测试结果的可靠性不易得到保障的问题,显著的减少了测试的时间成本。

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