云测试的概念及其应用探索

2016-09-07 05:50肖明清
计算机测量与控制 2016年1期
关键词:自动测试体系结构虚拟化

肖明清,杨 召,赵 鑫

(空军工程大学 自动测试系统实验室,西安 710038)



云测试的概念及其应用探索

肖明清,杨召,赵鑫

(空军工程大学 自动测试系统实验室,西安710038)

云计算技术的快速发展和广泛应用,将对测试测量行业产生革命性影响;首先研究了云计算的概念内涵、服务模式和技术优点;其次将云计算与自动测试技术结合,提出了云测试的概念并阐述了其内涵;然后基于测试体系的军事需求,在DoDAF框架下给出一种云测试体系结构,并指出了云测试的关键技术及其研究思路;最后从现代武器装备的测试保障需求出发对云测试的应用进行了探索。

云计算;云测试;体系结构;关键技术;应用探索

0 引言

云计算是2007年底正式提出的一个新概念,它一出现就得到了产业界和学术界持久而广泛的关注,并在各行业各领域得到应用。测试领域与计算机技术发展息息相关,云计算的出现和快速发展为测试领域带来了新的机遇。虽然云技术目前主要影响的是IT和商业应用,但在未来数年内该技术将对测试测量行业产生相似的革命性影响,测试技术与云计算的融合将会是通用测试领域的一个新兴研究热点[1]。目前云计算在通用测试领域的应用尚处于起步阶段,且较多地集中于软件测试,硬件测试的研究不多,基于云计算的自动测试研究也才刚刚开始受到关注[2-4],是一个很值得研究的方向。

1 云计算与云测试

1.1云计算概述

在云计算概念出现之前,学术界就展开了这方面的研究,如清华大学张尧学教授提出的“透明计算”,即资源池动态构建、虚拟化、用户透明等,就是对云计算的最早实践[5]。美国国家标准与技术研究院对云计算定义如下[6]:云计算是一个模型,它可以让用户方便地、通过网络按需访问公共可配置资源池(如网络、服务器、存储设备、应用程序以及服务等),这些资源可以被快速地提供并发布,同时最小化管理成本或与服务提供商的交互。可通过网络访问的公共资源池,就是通常所说的“云”,它包括硬件资源和软件资源[7]。本地客户端只需要具备具有网络访问能力的用户交互界面,就可以方便、高效地获取云上近乎“无限”的数据存储、处理和计算能力[4]。

从根本上说,云计算的基础是虚拟化,技术特征是服务计算。云计算提供的服务有3种模式:软件即服务,平台即服务和基础架构即服务;其部署方式有4种:私有云,社区云,公有云和混合云。与传统计算机和网络技术相比,云计算系统具有以下几个显著优势:规模效应,服务虚拟化,共享资源池,快速弹性部署,可监测与计量的服务,按需服务和高可靠性[6]。

1.2云测试的概念

测试是对一类具有共性的行为的总称,即对被测对象的属性进行定量和定性分析的过程[8]。按其被测对象分,测试可以分为软件测试(被测对象是软件系统)和硬件测试(被测对象是硬件系统)。软件测试是指在规定条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试的核心是对离散数字量的逻辑进行定性或定量分析。软件测试一般在产品交付使用前进行,在交付使用后除非版本升级一般很少改动,故处于使用状态的软件其可靠性基本不会发生变化。硬件测试是硬件产品从研发走向生产的必经过程,按照系统的复杂程度,一般可分为单元测试、集成测试和系统测试3个级别,包括信号质量测试、时序测试、功能测试、性能测试等多个种类[9]。硬件测试的核心是对物理量的属性进行定性或定量的测量与分析。与软件不同,硬件产品天然地存在着寿命退化现象,且其功能、性能和可靠性会受到所处环境的影响。对于可靠性要求高的领域(如航空航天、国防军工),硬件产品除在交付使用前要进行严格的测试外,在交付使用后也要按照维修要求对其进行有计划的测试。本文讨论的云测试技术,其被测对象主要是指硬件系统。

云测试,是指基于云计算的自动测试技术。自动测试是指模拟手工测试步骤,由测试工具自动执行测试过程,即测试步骤是在“自动主体”的控制下“自动”完成测试的。从系统学的角度讲,自动测试就是在自动主体的控制下,自动地向被测系统输入正常工作所需的激励信号、信息,自动地采集并定性或定量地判定被测系统在测点上的响应信号、信息是否符合规定要求。现代测试技术的发展,始终是随着自动测试主体的变化而不断演化与进步的:最早的硬件自动测试,其自动主体的角色多由微控制器承担(如基于单片机的测试系统);随着计算机技术的发展,自动主体又演化为分立式计算机(如GPIB、VXI和LXI总线测试系统)[8];如今,随着云计算的日益成熟和广泛应用,自动测试的主体内核可由云计算技术承担。基于云计算重构自动测试技术体系,可以充分利用云计算成本低、性能好、计算力强、存储空间大、访问便捷和方便群组协作的优点,为测试领域带来革新性的变化。

2 云测试体系结构

“测试体系结构”可以看成单套测试系统或多套测试系统组成的集合在其所处环境中的高层抽象,利用体系中的基本单元及这些单元之间的关系来刻画测试系统。测试体系结构是测试系统开发的蓝图,美军已将体系结构的研究确定为军用测试系统采办的第一个必经阶段,其地位和作用已得到充分认同。本文从测试体系的军事需求出发,尝试建立基于云计算的测试体系结构模型——即云测试体系结构,并分析该结构中测试云计算平台服务的功能和分类。

云测试体系结构模型的建立必须考虑云计算的特征,云测试体系的最关键特征在于要有一个云基础架构平台,将各测试设备的软件功能抽象为云平台的服务,提供给用户使用,测试程序并不直接在测试控制器上执行,而是通过任意的终端,通过云平台与测试设备交互,从而实现对被测对象的测试。云计算服务模式的基本类型中,从SaaS(software as a service,软件即服务)、PaaS(platform as a service,平台即服务)到IaaS(infrastructure as a service,基础架构即服务)模型,用户在云上获得的控制权越来越多。IaaS最为灵活,适应于测试资源的虚拟化;PaaS最为核心,可以将测试执行、测试项目开发、测试资源管理和测试数据应用的功能在这一层进行集成;SaaS最为简单,为了简化用户操作和使用流程,在这一层提供封装的服务应用接口,供用户虚拟机调用处理。

图1 云测试体系结构初步方案

如图1所示,本文提出一种云测试体系结构初步方案,在DoDAF(department of defense architectural framework,美国国防部体系结构框架)中可称为高层运行概念的图形化描述视图(OV-1)。该云测试体系结构的核心是测试云计算平台,测试云计算平台采用面向服务的思想,最大化地减小各功能模块之间的耦合程度,提供测试资源即服务(test resource as a service, TRaaS)、测试平台即服务(test platform as a service,TPaaS)和测试软件即服务(test software as a service,TSaaS)3个层次的服务,它们通过网络总线进行相互通信和调用。

1)测试资源即服务层:测试基础资源是由测试资源和云计算基础设施虚拟化之后构成的可通过网络访问的、可配置的共享测试资源池。在云平台中,将硬件层的基础资源虚拟化,构建测试资源对应的虚拟测试资源池,供其他层次的服务调用。

2)测试平台即服务层:测试平台服务是为测试用户、开发者和测试专家提供的统一平台,其主要功能包括测试资源管理与控制、测试数据应用、测试程序调度与执行和测试程序开发与编辑。测试开发者可以使用云环境下的开发语言和工具,管理和控制测试资源、访问测试数据库,开发出公用的或专用的测试服务。测试专家可利用云平台共享自己的专家知识,形成专家知识数据库,也可以直接提供点对点式的测试/故障诊断技术支援。测试用户可以在权限许可范围内,利用开放的测试平台服务接口,开发出专用的测试应用。

3)测试软件即服务层:测试软件服务是将分布式测试系统各层次的服务提供给用户的最终环节,主要包括用户服务(人机界面)、测试执行服务(公用或专用测试应用)、测试项目开发服务和测试数据应用服务。

在图1所示的云测试体系结构下,本文提出未来云测试的典型应用场景。

如图2所示,云测试平台由云测试服务提供商(或称为云测试公司)构建,它是云测试应用的核心,提供TPssS,TSaaS和TIaaS服务,并通过网络控制所有云测试资源。云测试资源(主要包括激励资源、测量资源和接口资源)是TIaaS服务的一部分,它由云测试公司按地理区域统一提供和配置。当用户有测试需求时,只需通过网络向云测试平台发送“服务请求”,云测试平台将自动计算最优的测试资源配置并生成自动化测试脚本;云测试公司借助高效的现代物流系统将用户所需的测试资源快递给用户。在整个过程中,用户只需提交测试服务请求和制作用户电缆。

图2 云测试典型应用场景

3 云测试关键技术

3.1测试资源虚拟化技术

虚拟化就是把物理资源转变为逻辑上可以管理的资源,以打破物理结构之间的壁垒。云测试要把测试资源接到云计算环境中,首先需要解决的问题就是测试资源的虚拟化。

由云计算基本理论可知,IaaS相对最为灵活。既然IT硬件资源可以被虚拟化,那么计算机的仪器资源也同样可以被虚拟化;在IaaS服务模式下将硬件资源虚拟化,然后经由虚拟机远程提供给用户使用;用户可在虚拟机中安装或定制自己所需的操作系统、驱动程序和应用软件。云测试对于测试资源的使用,既需要软件开发平台的支持,也需要云计算平台的支撑。测试系统向云计算平台的迁移,可带来很多传统测试系统所没有的优势。

3.2云测试服务协同与优化方法

云测试利用网络互连技术和虚拟化技术,把硬件抽象成可扩展、动态可调度的测试资源,测试软件的关键功能也抽象为云平台中的服务,整体虚拟化为资源池。在目前的云计算技术体系中,大部分服务协同方法是根据给定优先级对内部资源进行调度,很难最大化地满足用户需求,这会造成不必要的资源浪费,同时使服务协同时间有所增加,不能使系统全局性能最优化[10-13]。在虚拟测试资源池的基础上,建立测试云计算平台服务模型和服务应用变化响应函数,并在云环境动态变化的情况下基于效用理论和机器学习理论寻求最优解或近似最优解,是解决云测试服务协同与优化的可行方法。

云测试技术允许多个虚拟机在同一云计算平台上共享测试资源,为了响应用户需求的变化或者是测试资源供应的变化,服务资源应该能够动态可重新配置。强化学习方法不依赖于被控对象的数学模型和先验知识,而是通过试错和与环境的不断交互获得知识,从而改进行为策略,具有自学习的能力。基于强化学习的算法来自动处理服务优化配置进程,能够获得较好的测试服务稳定性和适应性。

3.3海量测试数据管理与挖掘技术

将云计算应用于测试系统之后解决了测试信息交换和共享难题,但同一基地或同一作战系统的不同武器装备的海量测试数据将汇总在一起,也带来测试数据量的激增。如何对海量测试数据进行集成存储和管理,从海量数据中挖掘到有用信息,进行诊断推理和趋势分析,从而获取装备健康数据的全局视图,是云测试需要解决的关键问题。

研究云计算平台海量测试数据存储与集成处理技术,可基于Map/Reduce框架研究概念格构造和退化模型的云计算化方案[14],设计测试数据挖掘算法,并对算法的运行效率、资源开销加以研究。

4 云测试应用探索

随着先进而复杂的电子技术在武器装备中的大量应用,大吞吐量、宽频谱、多类型信号给武器装备的测试带来了诸多难题;同时,现代战争环境中战斗力的形成、保持与增长也对武器装备的测试与保障提出了新的更高要求,主要表现在:1)参战装备型号全,作战联合程度高,要求测试设备必须具有很强的多型谱综合测试保障能力;2)参战装备数量多,机动范围广,要求测试设备必须具有很强的机动保障和伴随保障能力;3)出动强度高,战场环境恶劣,要求测试设备必须具有持续的高强度保障能力;4)装备升级更新快,保障工作量大,要求测试设备必须具有很快的TPS开发响应速度;5)装备信息化程度高,战场态势瞬息万变,要求测试设备能够提供准确快速的装备健康数据可用信息和全局视图。面对这些新需求,现有的测试体系结构难以胜任,但云测试将有效地解决这些问题,具有广阔的应用前景。

1)适应基地化保障的发展趋势,解决测试系统“孤岛”问题:

目前的测试体系结构中,测试通用化大大减少了测试设备的种类与数量,提高了标准化水平。但是,由于仍局限于同类型的武器装备,没有从整个作战系统的角度对测试体系和综合测试进行考虑;测试设备的配备是按机型、使用部门或专业来进行的,被切割成各种各样的独立“系统”,造成测试系统“孤岛”问题,这样的测试体系结构显然是不符合基地化保障发展趋势要求的。

为提高保障效率与作战效能,基地化保障的要求主要体现为对隶属于同一基地作战系统的多型谱武器装备实现综合测试,也就是从测试体系的层面来解决测试系统“孤岛”问题。消灭“孤岛”的技术很多,网络无疑是基础。云计算作为计算机和网络领域出现的一种革命性新概念,它通过网络以服务的方式提供动态可伸缩的虚拟化资源。云计算是基于网络的“单兵作战”向“集群作战”的一种思维的转变,其所提供的测试服务和能力将成几何级数式增长,是有效整合各种资源和系统、破除信息孤岛的有力技术手段。

2)提高TPS开发效率,迅速响应被测对象升级:

当前装备技术发展迅速,各型装设备不时进行诸如流程优化、软件升级、系统更新和接口扩展等改装工作。当被测对象升级和更新后,一般优先考虑将测试任务部署在已有的测试系统上,需要重新考虑接口适配器的修改、测试资源的分配和测试程序的开发。就目前的武器装备测试体系结构来说,TPS的开发依赖于其自身的架构环境,与系统采用的硬件结构和软件开发平台紧密相关,必须由熟练技术人员完成,并进行现场实物调试,周期长,费用高,这种模式显然不适应未来作战保障要求。

云计算所具有“随时随地访问”、“按需自助服务”和“资源共享”的特征,将其引入到测试系统中来,使测试程序的开发和执行先与云平台交互,再和测试硬件设备交互(电缆连接除外),消除了空间和时间上的过多限制,解除了测试软件运行环境与硬件设备过于紧耦合关系,有利于提高TPS开发、移植速度,从而迅速响应被测对象升级带来的测试需求变化。

3)提高测试与诊断信息处理能力,形成装备健康数据的全局视图:

目前,我军装备测试保障在全面提升测试诊断能力方面仍有不足,主要表现在:测试信息交换和共享能力差,维修信息收集不完善,信息处理和分析能力基本缺失和现有的测试系统软件缺乏知识支持。目前大多数测试系统的体系结构都是紧耦合的,系统功能固化在程序模块中,测试数据不一致、分散重复,不能很好地进行知识表述,无法形成装备健康状态的全局数据视图,从而及时分析和掌握维修需求动态,及时改变业务流程或及时补充、修改信息模式,造成系统的灵活性差。

对海量数据进行并行、分布式的高效处理是云计算的先天优势,具有可靠、高效、易扩展和高容错性的特点。将云计算引入到测试系统中来,利用云计算将原始测试和诊断数据都交给云进行集中处理、存储和分析,通过来自各个测试终端的数据,可以更清楚地了解武器装备状态,实时了解装备健康状态变化趋势,从而主动地做出维修决策。

5 结语

本文阐述了云测试的概念和内涵,研究了基于云计算的测试体系结构,并指出了其关键技术及研究思路,探索云计算前沿技术在测试领域的应用模式和规律,为提高装备测试效率和保障水平寻求新的途径,具有重要的理论意义和实用价值。

[1] 夏骆辉,谭丽. 云测试技术备受关注 或将引发测试领域革命[J]. 世界电信, 2011(05):69-72.

[2] 肖明清,杨召,薛辉辉,等. 云计算及其在测试领域的应用探索[J]. 空军工程大学学报(自然科学版), 2015, 16(1): 50-55.

[3] Hu L G, Xiao M Q. The Future of Automatic Test System (ATS) Brought by Cloud Computing[J]. IEEE AUTOTESTCON, 2009.

[4] 肖明清,杨召,薛辉辉,等. 云计算及其在测试领域的应用探索[J]. 空军工程大学学报(自然科学版), 2015, 16(1): 50-55.

[5] 陈康,郑纬民. 云计算:系统实例与研究现状[J]. 软件学报, 2009, 20(5): 1337-1348.

[6] Mell Peter, Grance Timothy. The NIST Definition of Cloud Computing[M]. NIST Special Publication 800-145, 2011.

[7] 云计算技术的产生、概念、原理、应用和前景[EB/OL]. http://cloud.it168.com.

[8] 肖明清,胡雷刚,王邑,等. 自动测试概论[M]. 北京: 国防工业出版社,2012.

[9] 黄艳敏. 浅谈电子产品的硬件测试技术[J]. 单片机与嵌入式系统应用, 2010(2):16-17.

[10] Saraswathi A. T., Kalaashri Y. R. A., Padmavathi S. Dynamic Resource Allocation Scheme in Cloud Computing[J]. Procedia Computer Science, 2015, 47: 30-36.

[11] Alcaraz Calero Jose M., Gutiérrez Aguado Juan. Comparative analysis of architectures for monitoring cloud computing infrastructures[J]. Future Generation Computer Systems, 2015, 47: 16-30.

[12] Phaphoom Nattakarn, Wang Xiaofeng, Samuel Sarah, Helmer Sven, et al. A survey study on major technical barriers affecting the decision to adopt cloud services[J]. Journal of Systems and Software, 2015, 103: 167-181.

[13] Madhukar Ellendula, Ragunathan Thirumalaisamy. Efficient Scheduling Algorithm for Cloud[J]. Procedia Computer Science, 2015, 50: 353-356.

[14] Giachetta Roberto. A framework for processing large scale geospatial and remote sensing data in MapReduce environment[J]. Computers & Graphics, 2015, 49: 37-46.

Concept of Cloud Test and Exploration of Its Application

Xiao Mingqing,Yang Zhao,Zhao Xin

(ATS Lab,Air Force Engineering University,Xi'an710038,China)

The rapid development of cloud computing technology and the widely application will have a revolutionary impact on test and measurement industry. Firstly, the connotation of the concept of cloud computing, service modes and technical advantages are studied. Secondly, the concept of cloud test is proposed by combining cloud computing and automatic testing technology, and its connotation is expounded. In turn, cloud test architecture is proposed based on the military test requirements under the DoDAF framework. Then, the key technology of cloud test and research ideas are pointed out. Finally, the application of cloud test is explored based on the test and support requirements of the modern weapon system.

cloud computing;cloud test architecture;key technologies;application exploration

2015-06-13;

2015-09-06。

肖明清(1963-),男,湖南常德人,汉族,教授,博士生导师,主要从事航空武器综合保障方向的研究。

1671-4598(2016)01-0001-03

10.16526/j.cnki.11-4762/tp.2016.01.001

TB114.3

A

猜你喜欢
自动测试体系结构虚拟化
基于OpenStack虚拟化网络管理平台的设计与实现
JXG-50S型相敏轨道电路接收器自动测试台
对基于Docker的虚拟化技术的几点探讨
关于某型雷达自动测试系统的几点认识和建议
H3C CAS 云计算管理平台上虚拟化安全防护的实现
基于粒计算的武器装备体系结构超网络模型
作战体系结构稳定性突变分析
存储虚拟化还有优势吗?
基于DODAF的装备体系结构设计
基于云计算的航天器控制系统自组织体系结构