APP下载

SCA软件平台符合性集成测试工具设计

2022-07-07郭蕾鲁瀚鄢然汪洋毛靖瑶

电子技术与软件工程 2022年6期
关键词:测试工具测试用例部署

郭蕾 鲁瀚 鄢然 汪洋 毛靖瑶

(武汉中元通信股份有限公司 湖北省武汉市 430205)

1 引言

软件无线电技术起源于现代军事领域对通信系统灵活性的特殊需要,是自上世纪80年代末兴起的一种全新的设计思想。软件无线电技术的核心理念是设计实现一套具有开放性、标准化、模块化的通用硬件平台,利用软件实现调制解调、工作频段、通信协议、加解密、信道接入方式、业务种类以及可编程射频前端等实际通信需求的功能。为了达成该目标,美军联合战术无线电系统(JTRS)采用软件无线电技术的设计思想,推出了软件通信体系结构(SCA, Software Communications Architecture)。经过多年的研究与发展,美军目前已经实现五大兵种的规模化部署。软件通信体系结构主要目的是提高软件的互操作性、可重用性以及可移植性,从而缩短军用电台的开发周期,降低研制成本,通过软件定义平台的方法可以大大提升军队的互操作性,将多种波形集成在统一的平台上运行,有效降低电台的种类数量,提升电台的通信能力。

SCA作为一套标准的体系结构,在实际应用之前必须对其标准的符合性进行验证,从而保证波形的可移植性、系统的兼容性和可集成性。为了测试核心框架的SCA标准符合性,防止出现产品不兼容的问题,文献提出了一种SCA核心框架符合性测试方法,设计了一种核心框架的符合性测试工具,实现了对核心框架的接口测试功能。文献提出了一种自动生成测试序列的方法,基于扩展有限状态机的基本原理构造一种SCA符合性测试模型,再利用贪心算法对测试序列集进行系统优化,从而有效地保证测试覆盖度,提升测试的效率。但是这些针对符合性测试的研究都不够全面,仅仅只是针对SCA的特定点(核心框架或硬件抽象层)进行研究,因此,提出一种针对SCA软件平台的集成性测试工具,用以验证不同软件平台是否符合SCA标准规范显得十分关键。在进行波形移植以及系统的集成开发工作之前,首先利用软件平台集成测试工具对系统的软件平台进行验证测试,软件平台通过了符合性测试之后,波形应用或者设备在移植过程中,不需要对代码进行大量修改,也不需要进行复杂的联调测试工作,就可以直接通过软件平台部署在底层硬件平台上。

2 软件无线电总体架构

软件通信体系结构(SCA)是将面向对象和分布式中间件等技术应用于军事通信领域, 基于波形组件化和“软总线”的思想提出的一种开放式体系设计架构。与传统的软件无线电设备对比,基于SCA架构设计的设备具有系统维护升级简单,互操作、互联互通能力强,操作管理和应用开发成本低的显著优势。

如图1所示为软件无线电总体架构图,主要包括硬件平台、软件平台和波形三层。其中硬件平台主要实现计算、存储、数模转换以及射频处理等功能,为软件平台和波形提供相应的硬件运行环境。软件平台则主要是实现对硬件平台资源的统一管理,屏蔽上层波形应用与底层硬件平台的相关性,为波形应用提供标准的运行和管理支撑。其中,操作系统主要是提供本地系统的引导、进程管理、内存管理以及任务实时调度等功能,为软件平台的其他软件和波形组件提供多线程支持;组件间通信机制主要包含传输机制和硬件抽象层两个部分,为运行在相同或不同的可编程器件上的软件组件提供标准的通信方法和接口;核心框架是软件平台的核心模块,为软件平台系统提供统一的软硬件管理、文件系统管理等功能,为波形软件在可编程器件上的部署、运行和配置提供标准的方法和接口;设备与服务是SCA标准规范提供的一组标准的软件组件或系统软件,为软件平台和波形应用提供访问底层应用资源的标准接口。

图1:软件无线电总体架构图

图2:符合性测试总体方案设计

波形是为了实现信息无线传输的目的,而对信息进行的一系列的处理和变换的实现方式,通常由一个或多个具有独立功能和标准接口的组件构成。波形通过软件平台部署运行在硬件平台上,从而可以实现对信息数据的处理和底层资源的调用。对SCA系统架构软件平台的各个模块完成标准符合性单元测试和集成测试,通过测试的软件平台可以将不同厂商开发的波形部署并运行在底层硬件平台上,保证波形的可移植性。

3 符合性测试总体方案设计

SCA软件平台的符合性测试主要是针对操作系统、核心框架、传输机制、硬件抽象层以及设备与服务这五个基础模块的测试。如图2所示为测试总体方案设计,总体方案主要包括测试用例设计、外部测试环境搭建、测试组件部署、测试流程设计这四个组成部分。通过提出的测试用例设计思想对不同的测试模块,设计有针对性的测试用例,保证整个测试的合理性和全面性。搭建外部测试环境保证测试平台与被测平台能够实现信令互通,部署相应的测试组件和端口可以保证芯片内组件的通信和不同芯片之间的数据通信,并为接口的调用提供内部环境。完成外部环境的搭建和内部组件的部署之后,将整个软件平台的测试模块统一集成到测试主机的集成测试工具上,按照设计的测试流程执行测试指令,并在集成测试工具上显示具体的测试结果。

3.1 测试用例设计思想

软件平台符合性测试主要采用黑盒测试的测试方法,从用户的角度对软件平台进行测试,主要验证软件平台的功能是否与SCA标准规范要求一致。针对操作系统、传输机制、硬件抽象层、核心框架以及设备与服务这五个测试模块的测试用例进行方案设计,主要采取接口函数返回值符合性验证、函数行为功能符合性验证、捕获异常符合性验证、性能指标符合性验证、配置文件符合性验证以及继承接口符合性验证这几种方案作为测试用例设计依据,不同的测试模块单元分别基于不同的设计方案,设计有针对性的测试用例,验证测试模块是否符合SCA标准要求。如图3所示,为不同测试模块采用不同的测试用例设计方法,例如核心框架测试模块主要依据返回值符合性、功能符合性以及异常符合性设计相应的测试用例,而硬件抽象层模块的测试更关注的是其具体的功能指标和性能指标,因此采用功能符合性和性能指标符合性验证方案相应的测试用例。

表1:符合性验证方案设计思想

图3:软件平台测试用例设计方案

表1所示为这六种符合性验证方案的具体设计思想,根据符合性验证方案设计的测试用例可以有效提升设计测试用例的效率,并且保证整体测试的覆盖度。例如,利用返回值符合性验证方案设计核心框架DomainManager接口中的managers函数的测试用例,在域管理器中部署N个已知设备Dev1…DevN,执行调用managers函数会返回具体DeviceManagerComponent序列,判断实测设备序列是否与已知部署设备相匹配即可验证是否符合要求。利用功能符合性验证方案设计操作系统的create函数的测试用例,预期在指定Path下创建指定文件fileName,执行调用create方法,在路径Path下判断是否新建指定的文件fileName。

3.2 测试环境

SCA软件平台标准符合性测试环境如图4所示,整个测试环境主要包括两个组成部分,分别是运行在测试主机上的符合性测试平台和运行在被测平台上的待测软件平台。符合性测试平台作为测试的客户端,主要实现发送测试指令和统计接收测试结果的功能,待测软件平台作为测试的服务端,主要实现等待执行测试指令并返回测试结果的功能,符合性测试平台与待测软件平台通过网线和交换机进行有线传输,从而构建起完整的外部测试环境。

图4:SCA软件平台标准符合性测试环境

3.3 测试组件部署

如图5所示为测试组件部署图,在由GPP、DSP和FPGA等芯片构成的硬件平台上对软件平台进行符合性测试,在GPP芯片上部署待测的操作系统、传输机制、硬件抽象层、核心框架、设备与服务以及GPP应用测试组件,在DSP芯片上部署DSP测试组件以及DSP硬件抽象层,在FPGA芯片上部署FPGA测试组件以及FPGA硬件抽象层,整个被测平台同一芯片之间通过端口相连接,不同芯片之间通过总线驱动相连接,测试平台与被测平台通过网口相连接。

图5:测试组件部署图

当对操作系统模块进行测试时,被测主机接收到测试指令后直接执行GPP芯片上的操作系统函数即可得到测试结果。针对传输机制测试模块,以CORBA中间件作为传输机制,测试用例调用CORBA接口可以验证接口的符合性,启用传输机制软件的客户端与服务端测试其吞吐量、时延等性能指标。对于硬件抽象层模块的测试,设计相应的GPP应用测试组件与测试端口(如app1_out和app1_in),通过端口调用硬件抽象层函数执行测试,并统计整体的性能指标。核心框架测试模块的测试需要部署软件平台,启动域管理器、设备管理器、应用管理器、文件服务等组件,测试系统通过CORBA调用核心框架的组件接口获取测试结果。设备与服务测试模块需要提前部署软件平台环境,通过组件调用端口进行测试。

3.4 测试流程

软件平台符合性测试流程如图6所示,将整个测试流程区分为测试主机(客户端)和被测主机(服务端)两个部分进行介绍。

图6:软件平台符合性测试流程

(1)运行被测平台服务器,等待接收测试主机客户端传输的测试命令;

(2)测试主机启动测试客户端,选择待测模块并添加待测模块中相应的测试接口与测试用例;

(3)测试主机将测试项目通过网口依次传输到被测主机,被测主机接收到测试指令后开始逐项测试并将测试结果返回到测试主机;

(4)测试主机接收到所有的测试结果后,生成相应的测试报告和测试日志;

(5)传输终止测试命令到被测主机服务端,服务端接收到测试终止指令后停止待测状态,测试结束。

4 软件平台集成测试工具设计

软件平台集成测试工具运行在测试主机端,集成了软件平台的操作系统、传输机制、硬件抽象层、核心框架、设备与服务五个测试模块,并细化到每个测试模块的具体测试组件与测试接口项,当对软件平台进行标准符合性验证时,启动软件平台集成测试工具,选定具体的测试项运行测试,集成测试工具会在界面上显示实际的测试结果,若测试过程中出现异常,界面上也会显示具体的错误原因,测试结束也可直接传输测试终止命令到被测平台提示被测平台停止运行,保证测试的全面性、集成性,实现了测试的可视化。本文利用Qt和C++开发设计SCA软件平台集成测试工具,如图7所示为集成测试工具使用的主要类以及它们之间的关系。其中,QWidget为整个测试工具的核心,继承于QMainWindow类,其主要是完成整个测试工具的逻辑实现和界面的显示。QTabWidget 类、TestItem类和TestLog类继承于QWidget类,其中QTabWidget 类主要包括OSTab(OperatingSystemTab)、TMTab(TrasnsmissionMech anismTab)、HALTab(HarawareAbstractionTab)、CFTab(Core FrameworkTab)以及DSTab(Devices&ServicesTab)具体测试模块,不同测试模块分别对应操作系统、传输机制、硬件抽象层、核心框架以及设备与服务的测试,QTabWidget 类主要是完成测试模块的选择与测试参数的输入功能。TestItem类主要完成测试接口和测试用例的具体选择功能,为集成测试工具选定测试需要执行的具体测试模块中的详细测试接口以及测试用例,运行集成测试工具将测试命令传输到被测平台执行测试。TestLog类主要完成接收显示被测平台传输的测试结果以及测试异常的显示定位功能。

图7:集成测试工具类图结构

5 集成测试工具验证

为了验证软件平台符合性集成测试工具的可行性,根据提出的测试用例设计方案,设计操作系统、传输机制、硬件抽象层、核心框架以及设备与服务的测试用例,以提出的测试流程为依据执行相应的测试单元,完成对软件平台集成测试工具的验证工作。以核心框架模块的域管理器接口测试为例,在集成测试工具所在的客户端上,选择执行具体的测试接口并运行,测试指令通过网线传输到被测平台,被测平台接收到测试命令后执行测试,统计测试结果并传输到集成测试工具显示的测试日志上。如图8所示为集成测试工具的具体测试界面显示,集成测试工具界面的左侧显示核心框架具体的测试组件,中间测试用例为具体执行的测试接口,点击界面的运行键即可执行测试,测试结果打印到测试日志上,点击停止键集成测试工具传输终止测试命令到服务端,服务端端口,测试流程结束。

图8:软件平台符合性集成测试工具测试界面

6 结束语

本文对SCA软件平台标准符合性进行研究,提出了SCA软件平台符合性测试的整体方案设计,介绍了外部测试环境的搭建以及芯片内测试组件的部署方法,针对软件平台的五个测试模块提出了几种测试用例设计思想,介绍了详细的测试流程,设计实现了一套SCA软件平台符合性集成测试工具,并在由GPP、DSP和FPGA芯片构成的硬件平台上进行了整体的验证工作,结果表明,提出的测试工具可以简洁、直观、方便的对整个软件平台进行符合性测试,通过符合性测试的软件和设备可以互相兼容,提升了波形的可移植性和软件平台的可复用性,大大缩短了通信装备的系统集成开发周期。

猜你喜欢

测试工具测试用例部署
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
基于SmartUnit的安全通信系统单元测试用例自动生成
部署
Http并发连接测试工具
基于混合遗传算法的回归测试用例集最小化研究
手车式真空断路器回路电阻测试电流线接头研究
部署“萨德”意欲何为?
福禄克推出先进的连接式测试工具系统
基于依赖结构的测试用例优先级技术