基于云计算的计算机软件测试技术研究

2018-05-25 01:20王小红
安阳师范学院学报 2018年2期
关键词:计算技术软件测试架构

王小红

(青海民族大学 计算机学院,青海 西宁 810007)

在云计算技术当中服务模式出现了较大的变化,软件服务也逐渐拓展到平台以及基础设施层面当中,这就对软件的架构与设计带来了较大的影响,同时也会从根本上改变软件的生产与消费方式,这就要求在云计算背景下计算机软件测试技术必须进行对应的改革才能适应计算机软件发展的需求。在云计算背景之下计算机软件测试工作需要移植到云平台当中,同时测试活动所采用的数据与资源也必须是云计算技术的计算与存储资源,这也是现阶段云计算背景下计算机软件测试技术的基本发展趋势[1]。从总体上来看现阶段我国在云计算软件测试方面的研究还存在着较为明显的滞后性。基于此种情况,本文对基于云计算的计算机软件测试技术进行了必要的研究与分析,从而推动我国云计算计算机软件测试技术的进一步发展,现报道如下。

1 基于云计算的计算机软件测试的定义与特征分析

1.1 基于云计算的计算机软件测试的定义

目前阶段对于基于云计算的计算机软件测试的定义不同的学者对此存在着不同的认识,同时学术界关于基于云计算的计算机软件测试的概念定义也没有达成统一的认识,但是从总体上进行分类可以发现主要有以下几种观点:第一,云计算软件测试是指应用程序在云计算环境当中模拟现实世界中用户流量的一种测试方法;第二,云计算软件测试是指利用云环境中的已有资源,并通过云环境基础设施建设解决计算机软件测试中可能存在的问题,从而促进计算机软件性能的进一步完善;第三,云计算计算机软件测试技术主要分为两个不同的层面,第一层面是指计算机软件测试技术可以利用云环境当中所存在的资源来对实际负荷、用户流量等进行模拟,第二个层面则是在云计算基础设施建设的基础之上对计算机软件进行综合性调试。第一种定义侧重了云计算技术中对于真实客观环境的的模拟,而第二种则侧重了云计算基础设施的重要性,第三个定义则是第一种与第二种定义的综合。目前阶段国内学术界当中对于第三种定义的认知度相对较高。但是以上关于云计算计算机软件测试均是从广义的角度进行分析的,从狭义上来说计算机软件测试技术则主要是指软件开发商以云计算平台为基础设施的软件测试行为, 即通过云计算平台以按需、易扩展的方式获得所需的测试资源, 完成各种测试任务[2]。 这也是当前阶段云计算软件测试技术主要的运行方式。

1.2 基于云计算的计算机软件测试的特征分析

在云计算计算机软件测试当中由于使用了多种不同的综合性技术以及创新服务,其测试技术与传统软件测试之间存在着较大的差异,因此,也呈现出明显不同的特征,当前随着云计算计算机软件测试技术的不断发展,基于云计算的计算机软件测试技术的特征也逐渐更加清晰,具体来说基于云计算的计算机软件测试与传统软件测试之间的差异主要体现在几个方面[3],见表1。

表1 基于云计算的计算机软件测试与基于云计算的软件测试技术特征比较

2 基于云计算软件测试的分类研究

现阶段对于基于云计算的计算机软件测试的研究主要分为基于测试任务的分类以及基于用户的测试两个不同的方面,从不同的角度进行划分,基于云计算的计算机软件测试可以分为不同的类型,在下文当中将分别从这两个方面入手对基于云计算的软件测试分类进行研究。

2.1 基于测试任务的云计算软件测试分类

目前从测试任务的角度对云计算软件测试进行分类是最基本的分类方法,从测试任务的角度出发可以将基于云计算的软件测试分为压力测试、负载测试、性能测试、功能测试、兼容性测试、浏览器性能测试、延迟测试和安全测试8种类型,具体来说如图1所示[4]。

图1 基于测试任务的云计算软件测试分类

压力测试主要是指云平台的大数据计算能力,通过压力测试能够使得整个软件系统的性能得到根本性的提升,同时获得系统所能获得最高服务,负载测试则是指将所测试的软件置于满负荷的状态之下对系统的负荷能力进行验证,从而进一步发现软件架构以及设计中可能存在的问题。性能测试则主要是指通过云平台所获得的关于软件系统的性能指标。功能测试是指测试SaaS和非SaaS软件各模块的系统功能[5]。兼容性测试是指利用云计算平台的多种操作系统、多种数据库和多种浏览器环境测试软件兼容性。浏览器性能测试是指测试SaaS和非SaaS软件在不同浏览器中的性能。延迟测试是指在云平台上部署应用程序后,测试系统的响应延迟。安全测试是指测试SaaS和非SaaS软件的系统安全性[6]。

2.2 基于测试用户角色的云计算软件测试分类

基于测试用户角色的云计算软件测试分类主要是指从云计算供应商、用户以及系统开发人员的角度对软件测试进行分类,根据测试用户角色的不同可以将基于云计算的计算机软件测试分为以下几种不同的类型,具体如图2所示。

图2 基于测试用户角色的云计算软件测试分类

在云中测试SaaS在云平台当中对软件的SaaS功能进行验证的测试,云外测试则是从云平台的外部视角对云计算当中一些已经指定的功能进行测试以及验证,云内测试则主要是指从云计算的内部视角对软件进行测试或者只对特定的云能力进行测试,具体来说主要包含内部SaaS、安全、自动功能以及管理功能测试,一般情况下只有云供应商才有权限进行相关测试工作[8]。云上测试则是指利用云供应商部署在云平台之上的服务应用对软件系统的规范性进行测试,一般情况下云上测试主要是由基于云的系统开发商完成。

3 基于云计算的软件测试架构

与传统的软件测试平台不同,基于云计算的软件测试涉及到的内容相对较多,这就必然导致整个平台的架构也异常复杂,现阶段基于云计算的计算机软件测试架构已经逐渐成为了一种复杂的软件、硬件以及服务的综合体系。基于云计算的软件测试架构主要分为以下几种不同的类型:(1)YETI测试云系统架构,该系统是英国约克大学开发的计算机架构,该平台部署于亚马逊所提供的EC2云中,同时还可以支持基于Java的自动测试;(2)D-Cloud平台,该平台是日本驻波大学开发的系统,在该系统当中可以完成大规模的分布式测试,同时在该平台当中还内置了虚拟故障插入技术[9];(3)Cloud9,该平台是瑞士洛桑理工大学基于IBM提供的云平台建立的软件测试系统,该系统不仅可以建立在公共云之上进行运行,同时还能够建立在私有云的基础之上进行运行[7]。但是以上三种架构依然存在着一定的缺陷,图3从IaaS、PaaS、SaaS三个不同的层次对基于云计算的软件测试架构以及所涉及到的主要技术进行阐述。

图3 云测试平台技术架构层次

4 结语

云计算技术是现阶段信息技术的最新发展趋势,云计算技术的发展对计算机软件测试技术的发展也带来了一定的影响。但是从总体上来看现阶段关于云计算的计算机软件测试发展还并不完善,还存在着许多需要进一步解决与完善的问题。本文对基于云计算的计算机软件测试技术进行了简略的介绍,并分析了基于云计算的软件测试基本架构,希望能对现阶段我国的云计算计算机软件测试技术的发展有所帮助。

[参考文献]

[1]张书锋,刘正.基于MVC设计模式的SaaS云计算数据中心构建与鲁棒性测试模式探究[J].电脑知识与技术,2017,13(31):224-226.

[2]Marynowski J E, Santin A O, Pimentel A R. Method for testing the fault tolerance of MapReduce frameworks[J]. Computer Networks, 2015(86):1-13.

[3]Jadhav S B. Boosting the Performance of MapReduce by Better Resource Utilization in Cluster[J]. International Journal of Computer Applications, 2015, 112(16):975-8887.

[4]关庆娟,杨燕梅,李庆华.基于虚拟化平台的数字图书馆建设研究——以新疆医科大学图书馆为例[J].福建电脑,2016,32(01):61-63.

[5]贺正楚,潘红玉,吴艳.新一代信息技术产业的公共服务平台构建及服务功能分析[J].中国科技论坛,2015(05):35-41.

[6]Darmawan J B B. INVERTED INDEX MENGGUNAKAN MAPREDUCE DALAM HADOOP DENGAN KONFIGURASI MULTINODE CLUSTER[J]. 2015.

[7]周光军.基于云计算技术的城市轨道交通信息系统统一开发测试平台应用架构浅析[J].信息安全与技术,2015,6(01):43-47.

[8]Chen Q, Changyan H E, Zhou Y, et al. Research on Fault Diagnosis System of Photovoltaic Power Plant Based on Cloud Calculation[J]. Guangdong Electric Power, 2015.

[9]曾彬彬,倪光南,叶东升,刘彦宾,葛丰亮,蒋华荣,赵国亮.圆桌谈:互联网+软件测试技术的创新与破局[J].质量与认证,2016(07):20-22.

猜你喜欢
计算技术软件测试架构
基于FPGA的RNN硬件加速架构
软件测试方向人才培养“1+X”融合研究
功能架构在电子电气架构开发中的应用和实践
基于OBE的软件测试课程教学改革探索
新时期计算机网络云计算技术研究
航天软件测试模型构建与应用
构建富有活力和效率的社会治理架构
EXCEL和VBA实现软件测试记录管理
浅谈云计算技术下的GIS软件工程模式
云计算技术在现代化办公系统中的应用