APP下载

基于云计算的并行化自动测试系统设计

2018-07-10刘杰强张阿真刘恒毅邹国际

测试技术学报 2018年4期
关键词:自动测试服务器评估

刘杰强,张阿真,刘恒毅,邹国际

(航天恒星科技有限公司,北京 100086)

随着航天产业的快速发展,航天器产品日趋小型化、集群化,航天器批产化测试的要求越来越高. 为了提高航天器批产测试效率,缩短测试周期,迫切需要构建一套并行化的自动测试平台.

并行测试建立于分布式测试系统上,在测试程序的控制下同时对多个被测对象进行测试,且每个测试节点都可独立进行测试. 与传统顺序测试技术相比,并行测试技术通过优化系统资源可以大幅度提高测试效率及测试质量,并明显提高测试资源利用率. 并行化测试的核心思想是构建集群环境,通过并发测试任务来提高测试执行效率[1-3]. 然而,构建集群需要根据测试需求的峰值配置物理设备,导致较高的成本开销及相对较低的资源利用率,从而增加了管理与维护的复杂度[4-6]. 为了解决这一问题,本文引入云计算技术,可根据各种需求向用户提供动态弹性可伸缩的资源,以其超大规模、虚拟化、高可用性、通用性、可扩展性、按需服务等特点,为自动测试系统构建虚拟、可靠的测试环境.

1 系统总体设计

系统采用VMware vSphere云计算软件实现系统资源的集群管理,构建测试设计子平台、核心数据处理子平台、通用测试设备子平台、自动化测试执行子平台、测试信息存储子平台、信息评估分析子平台等六大子平台[7]. 系统采用模块化设计思想,可以从测试设计、测试执行、测试评估等阶段为用户提供全要素、全过程、全方位的并行化、自动化、智能化的测试平台,形成满足航天领域测试需求的并行化自动测试系统. 系统组成如图 1 所示.

图 1 并行自动化测试系统组成Fig.1 Composition of parallel automatic test system

1.1 测试设计平台

测试设计平台可全方位、深度融合测试信息与测试过程各个环节要素,构建一个综合性智能设计平台. 该平台基于SQLite数据库和测试指令管理中心软件,主要实现测试信息设计、测试执行序列设计和测试报告及评估设计等功能[8]. 测试信息设计包括测试协议配置、测试执行配置、测试设备仪器配置、测试监视界面配置、测试信息输入,测试执行序列设计的内容包括测试自检序列、测试主序列、参数监视序列、参数报警序列、设备序列、设备报警序列,测试报告及评估设计包括描点画线参数选择、参数简单算法设计、测试评估二次开发库设计.

1.2 自动化测试执行平台

自动化测试执行平台是整个系统原始数据的处理中心和自动化测试过程实施中心. 采用并行测试方式,以自动化测试控制中心为核心,具备测试序列自检、测试序列一键执行、参数监视、参数报警、设备监视、设备报警、测试报告自动打印等七大功能. 此外,数据显示中心能以列表方式和图表方式对遥测数据进行实时显示并自动判读.

1.3 核心数据处理平台

核心数据处理平台主要由主测试服务(MTP)模块、数据库服务(DBS)模块、监视判读服务(DJS)模块、数据订阅服务(RTS)模块、时统服务模块组成. 该平台是并行自动化测试系统中数据处理、控制指令管理、自动化测试实施、测试数据分析、测试过程指挥监控管理中心. 它是测试数据处理存储系统的后台核心服务软件和管理工具,主要用于完成测试期间上行、下行数据的管理和控制,对测试设备进行统一管理和调度,对数据库进行访问与维护.

1.4 测试信息存储平台

并行化自动测试系统分为两个大数据库,分别为项目库和知识库. 其中,项目库存储当前正在运行的项目数据,知识库存储历史项目数据. 知识库分为若干个平台库,每个平台下存储若干项目数据. 每个项目分为若干次测试数据,如初样测试、正样测试、出所测试等. 每个测试库下存储基础库和被测数据存储表,基础库包含基础协议、基础指令等基础信息.

1.5 信息评估分析平台

信息评估分析平台用于对测试数据进行评估分析,包括自动数据分析模块和故障诊断模块. 自动数据分析模块按照测试协议的具体指标要求将测试数据进行实时判读,并实时发送给自动化测试执行平台; 故障诊断模块引入神经网络和专家系统等评估方法,利用航天标准测试用例集形成完善的标准评估指标体系. 通过此方法给出航天器性能的诊断结果,达到知识自动获取、诊断准确率高、诊断效率高的优势.

1.6 通用测试设备平台

通用测试设备平台是并行化自动测试系统的核心产品,以小型化、集成化测试设备为核心,通过有线或无线的方式与被测设备连接,通过网络与自动化测试平台连接. 其主要功能包括为被测产品供电、发送指令和数据、接收遥测数据、产生各种激励信号. 主要由通用接口测试设备和通用测试仪器管理设备两部分组成. 通用接口测试设备采用通用化设计,可支持各类被测产品的接口测试,接口包括LVDS总线、422总线、CAN、1553B等. 通用测试仪器管理设备为系统的测试仪器、设备提供二次开发平台,满足系统的设备扩展需求.

2 云计算支撑平台设计

2.1 云计算技术

云计算技术是在硬件平台上直接创建一个虚拟化平台间接管理硬件资源,并通过虚拟化控制中心控制计算中心全部服务器的虚拟化平台,进而将全部硬件资源形成资源池(包括CPU、内存、网络资源、外存储器)[9,10]. 同时,云计算支撑平台还在虚拟化平台层上创建出若干个虚拟操作系统,并根据实际需求将资源池中的硬件资源分配给虚拟操作系统,并在虚拟操作系统上运行应用软件. 通过这种方法可以使测试系统的工作彻底摆脱硬件资源的局限,实现根据系统需求进行资源的有效配置和系统的高可靠运行.

在并行化自动测试系统中,云计算支撑平台位于各业务子平台的下层,对具体的业务子平台提供诸如测试数据存储、高性能分布式计算等支撑,以保证平台在实现大容量数据服务时的服务质量.

2.2 云计算架构

云计算支撑平台是并行化自动测试系统的软、硬件支撑平台. 该平台可在云端实现通用测试设备子平台、核心数据处理子平台、测试设计子平台、自动化测试执行子平台、测试信息存储子平台、信息评估分析子平台的相关功能. 利用云计算资源聚合的特点,从物理上合并需要的服务器和终端,将全部硬件设备采用云计算方式整合到同一硬件服务器平台.

云计算支撑平台分为3层:基础级服务层(instrument as a service, IAAS)、平台级服务层(platform as a service, PAAS)、软件级服务层(software as a service, SAAS)[11]. IAAS层负责提供测试所需的服务器、工控机等硬件基础设施,为用户提供网络、仪器、存储和计算节点等物理设备. 用户在IAAS层需要提供设备的配置信息,通过虚拟化技术实现物理资源与虚拟资源的链接,形成虚拟资源池,用户根据需求向系统提出资源请求,提高了系统资源的利用率. PAAS层是介于SAAS和IAAS之间的部分,作为主要关联部分将系统与云平台关联起来,控制上层系统的部署与软件的环境配置,提供应用服务引擎,为并行化自动测试系统的数据分发、数据入库、数据存储、数据判读等功能的应用提供入口程序[12,13]. SAAS层是将测试系统各层次的服务提供给用户的最终环节,主要包括用户服务(人机界面)、测试执行服务(专用测试应用)、测试项目开发服务和测试数据应用服务. 并行化自动测试系统在SAAS层设计了测试信息管理终端、测试基础数据库管理模块、测试指令管理中心、测试信息监视终端、自动数据分析模块、故障诊断模块等应用软件,实现了测试服务的便捷性.

基于对软件可移植性、硬件可互换性和系统互操作性的研究,本文设计了一种并行化自动测试平台的云计算架构,如图 2 所示.

图 2 云计算架构Fig.2 Cloud computing architecture

3 实验平台

并行化自动测试系统对计算能力和长时间工作的可靠性要求较高,采用工业级的服务器可满足分析处理、协议转换、数据存储等功能要求. 本系统采用vSphere云计算管理终端软件实现对服务器的操作,以其系统资源集群管理、可靠性高等优势为并行化自动测试系统提供了方便、高效的运行环境.

本文以导航接收机为例,实现四台接收机并行一键化测试. 基于上述云计算硬件和软件支撑平台,并行化自动测试系统使用工控机作为数据采集设备,通过四路RS232串口同时对四台接收机进行遥测数据接收与遥控指令发送; 一台服务器集成指令控制终端软件与数据显示终端软件,同时一键化执行测试序列. 整个系统的工作信息流如图 3 所示,系统从测试准备、测试执行、测试评估三个阶段实现导航接收机的并行化自动测试.

图 3 系统工作信息流图Fig.3 Work flow chart of the system

3.1 测试准备

测试设计平台包括基础数据管理终端和测试细则管理终端,通过两个终端设备设计基础数据协议和测试细则等测试前的准备工作,并将基础数据信息、项目测试序列TPS发送给测试数据存储平台进行存储.

3.2 测试执行

通用测试设备平台采集导航接收机的四路遥测数据,利用工控机通过串口通信的方式与接收机进行数据交互,同时电源和卫星导航模拟源为接收机提供激励信号. 核心数据处理平台接收通用测试设备平台采集到的遥测数据,主测试服务器将数据按照基础数据协议进行解析处理,并将处理后的数据发送给数据订阅服务器,由数据订阅服务器将数据分发给自动化测试执行平台. 自动化测试执行平台是整个系统的测试执行机构,包括控制台终端和数据显示终端. 控制台向主测试服务器发送控制指令等信息; 数据显示终端接收来自数据订阅服务器的设备状态数据、设备管理数据、遥控指令数据、遥测工程值等信息,并以图形和列表两种形式进行显示. 测试数据存储平台存储测试设计平台生成的测试用例集、测试序列TPS、项目的基础数据库和测试过程数据,并将基础数据发送给主测试服务器和控制台终端,同时将测试序列TPS发送给控制台终端.

3.3 测试评估

信息评估分析平台从数据库服务器中读取测试数据,将数据按照标准评估指标体系进行数据分析评估. 一方面,将判读信息实时发送给自动化测试执行平台,形成测试报告并自动打印; 另一方面,将数据评估结果发送给测试信息存储平台用于后期的结果查询.

4 结束语

本文在充分分析自动化测试系统的研究现状和云计算测试的基础上,研究了面向自动化测试的云计算体系架构,设计了一种基于云计算的并行化自动测试系统,并充分考虑了软件可移植性、硬件可互换性和系统互操作性,实现了多台被测产品同时进行一键化测试执行. 实验表明,基于云计算的并行化自动测试系统借助少量的测试设备实现一键化四个被测产品同时测试并自动生成测试报告,提高了测试效率,减少了测试用例的执行时间,加速了测试过程,降低了测试环境成本,提高了测试质量.

猜你喜欢

自动测试服务器评估
第四代评估理论对我国学科评估的启示
通信控制服务器(CCS)维护终端的设计与实现
JXG-50S型相敏轨道电路接收器自动测试台
关于某型雷达自动测试系统的几点认识和建议
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
评估依据
基于ATE与BIT组合的NAMP自动测试与故障诊断系统设计
立法后评估:且行且尽善