网站首页  词典首页

请输入您要查询的论文:

 

标题 基于云计算环境下的软件测试研究
范文

    王文东+刘继梅+王嵃灏+武海妮

    摘要: 云计算环境下的软件测试技术简称“云测试”。其利用云计算在资源管理、使用等方面的优势对传统软件测试功能进行了拓展,使得软件测试的应用前景更加广泛。文章通过分析文献给出了云测试的定义并根据定义对云测试进行了分类阐述,通过对云测试的服务过程和服务模式研究给出相应的图形表示并对云测试的前沿性应用在三个方面进行了阐述,以便为以后研究云测试的相关人员提供参考。

    关键词:云计算;软件测试;云测试;云服务

    中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)27-0239-03

    Abstract: Software testing technology of cloud computing environment referred to as "cloud testing". The use of cloud computing in the aspects of resource management, use advantage to expand the traditional software testing function, make the software testing more broad application prospects. In this paper, through the analysis of the literature presents the definition of cloud testing and classification elaborated according to the definition of cloud testing, through the service process and service model of cloud testing study gives the corresponding graphical representation and the frontier of the cloud testing application are expounded in three aspects, in order to investigate the relevant personnel to provide the reference of cloud testing.

    Key words: cloud computing ; software testing ; cloud testing ; cloud services

    随着信息和计算机科学技术的不断发展,软件的应用越来越广泛,软件测试也伴随软件技术的发展而产生。在软件开发的整个过程中,软件测试都贯穿始终。由此可见,软件测试与软件开发对软件质量具有同等重要意义。但是,传统的软件测试在测试的过程中具有一定的局限性,操作效率并不高。而将云计算技术与软件测试技术相结合后,便可以很好地解决传统软件测试的弊端。本文对在云计算环境下的软件测试进行研究,是具有实际意义的。

    1 云测试定义及分类

    1.1 云测试的定义

    云计算环境下的软件测试简称云测试,是一种新型测试方案。云测试在文献中的定义因其考虑的角度不同解释也不同。主要包括:

    定义1:云测试是一种有效利用云计算环境资源对于其他软件进行的测试或是一种针对部署在“云”中的软件进行的测试[1]。

    定义2:云测试是指服务商将云计算环境作为测试平台,将软件测试服务提供给软件测试客户,主要是针对服务的提供[2]。

    定义3:云测试是指测试即服务的交付和使用模式,即测试服务提供商利用云计算平台给用户提供的第三方软件测试服务[3]。

    三种不同的文献定义中,定义1主要强调云测试所针对的对象是否在云中;定义2主要强调云测试的平台和服务;定义3主要强调是否存在第三方测试服务。上述三种对云测试的定义都只是从一种角度出发来解释,不够全面。因此,本文综合上面文献的表述给出云测试的定义:

    云测试是指在云计算环境下,服务商根据用户需求、按照计费的方式提供软件测试服务,包括基于云计算的软件测试、面向云计算的软件测试以及对同时涉及这两方面软件的测试。

    1.2 云测试的分类

    通过上述的定义,可以得出云测试的分类主要包括以下三类:

    1) 基于云计算的软件测试。该测试主要利用云中的資源池对其他需要测试的软件系统进行测试。其特点包括:工作环境多样化、服务对象多样化、软件测试需求广泛化、服务内容多样化。在进行测试的过程中,我们主要考虑如何进行资源调度。文献[4]给出了相应的调度方法并进行了验证。其主要思想是:对n个相互独立的任务分配m个虚拟机,当nm时,根据任务的优先级高低分配虚拟机;如果超出限制时间则返回任务未被执行提示。

    上述思想虽然很好地解决了云测试时资源调度的问题,但同时也存在一些不足:1)当任务数量n大于虚拟机数量m时,优先级低的任务需要等待时间较长;2)每次分配虚拟机都需要比较所有任务的优先级,相当于进行一次遍历,执行时所占内存较大。因此,针对云测试的资源调度优化也是非常重要的。

    2) 面向云计算的软件测试。在利用云平台中的软件对其他软件进行测试之前,必须保证云平台中的软件是可靠的、有效的。所以,面向云计算的软件测试是指:对部署在云环境中的各种云计算软件进行测试。其测试方法与传统的软件测试从软件开发的过程按阶段划分相类似,包括单元测试、集成测试、系统测试、性能测试、回归测试以及安全性测试等,并且测试过程大多采用自动化测试的方法。但是传统的软件测试所需资源不是现成的,每次测试都需要搭建平台环境。而云测试可以利用已有平台测试环境直接进行测试,大大降低了成本。文献[5]使用蚁群算法调度测试任务进行自动化测试,该方法虽能够提高自动化测试的效率,但其具有一定的局限性,即它一般需要较长的执行时间并且在少数情况下会陷入局部最优解。

    3) 迁移测试到“云”中。该测试是上述两种测试方法的综合,它主要是把传统的测试方法、过程、管理、框架迁移到云环境中[1]。虽然迁移测试到“云”中具备了上述两种测试方法的优点,但其也具有一定的局限性。1)兼容性:传统的测试方法迁移到云环境中是否能够不受云环境中其他因素影响;2)安全性:将软件测试迁移到云环境中是否能够保证软件的安全隐私不被泄露;3)通用性:在不同的云测试平台环境下软件测试结果是否一致。

    2 云测试过程管理研究

    2.1 云计算软件测试服务过程

    云测试的过程步骤如图1所示:1)用户登录web界面,通过咨询客服人员根据软件的功能及特点设计在云环境中所用测试方法及测试用例。2)根据测试用例以及价格模式选择云服务提供商。3)云服务提供商建立基础设施并配置虚拟机,利用云服务开始测试,测试过程中需要监控测试目标。4)云服务提供商把测试结果交付给用户,用户根据结果评估软件的功能是否符合预期要求、软件是否可靠等方面的问题。

    2.2 云计算软件测试服务模式

    云计算软件测试的服务模式如图2所示:整个云体系包括终端用户、资源池以及云服务提供商,终端用户通过web访问获取云服务商提供的各种资源,包括:基础设施、物理资源、测试服务和虚拟机。而这些资源是根据用户自身需求进行动态分配的,用户使用完成后,再把这些资源重新放入到资源池中。所以说,云计算环境下的软件测试是资源池的最大化使用,大大节约了成本。

    3 云测试的前沿性应用

    目前学术界的研究方向主要集中在基于云计算技术对软件的功能测试,很少有学者关注在云计算环境下的软件测试的前沿性应用,本文主要从学术界、工业界和军事三个方面对云测试的前沿性应用进行阐述。

    3.1 云测试在学术界的应用

    云测试在学术界的应用主要是国内外各大高校的学者和专家进行的研究。日本筑波大学研究开发了一个基于云计算的可靠并行分布式软件测试平台,支持虚拟故障插入技术;瑞士洛桑大学研究构造了一个基于云计算的集群平台,为大型的软件系统开发提供集成开发环境和测试工具;英国约克大学研究构造的自动化测试工具可以部署在云计算平台中;芬兰拉普兰塔理工大学研究云计算环境下软件测试和预期的软件质量之间的关系并提出“测试即服务”[3]。现在国内很多学者也致力于研究云计算环境下的软件测试,并关于测试的资源调度和优化处理算法等方面取得了一定的进展。如今,各大高校在软件测试方面开设的课程主要是面向传统的软件测试方法。随着云测试研究的不断深入,在未来的高校开设课程中,可以适当引入云计算以及云测试方面的内容,让学生们能够更好的学习前沿性科学知识。

    3.2 云测试在工业界的应用

    云测试在工业界的应用相对学术界来说更加广泛。目前主要提供云测试服务的商业平台有:Testin公司开发的Testin云测试服务平台、Cloud公司开发的Cloud Testing云测试平台、Keynote公司发布的Kite工具、SOASTA公司发布的Cloud Test测试平台。这些平台主要分为私有云、公共云和混合云三种类型,提供的业务模式有自行测试和测试外包两种。综上所述,云测试主要应用于以下三个方面[6]:1)测试人员利用云测试服务商提供的测试环境,运行自己的测试用例;2)云测试服务商为测试人员提供测试执行的服务;3)测试中需要使用软件工具或测试运行于不同测试环境都可进行云测试。

    3.3 云测试在军事方面的应用

    文献[12]研究探索得出云测试在军事方面的前沿性应用主要表现在以下三个方面:1)适应基地化保障的发展趋势,解决测试系统“孤岛”问题;2)提高TPS开发效率,迅速响应被测对象升级;3)提高测试与诊断信息处理能力,形成装备健康数据的全局视图。云测试在军事方面的应用对于云测试的安全性指标有较高要求,而现在云测试存在的最大问题就是数据安全得不到保障,所以未来对云测试安全问题的研究是重中之重。

    4 结束语

    本文对云计算环境下的软件测试进行了研究,总结了云测试的定义、云测试的分类并对云测试的过程及模式给出了明确的叙述。随着云测试技术带来的一系列明显优势,相信云计算环境下的软件测试在未来的软件开发过程中会占据越来越重要的地位,云测试必将受到大规模的普及与应用。

    参考文献:

    [1] 李乔,柯栋梁,王小林.云测试研究现状综述[J].计算机应用研究,2012,12(29):4401-06.

    [2] 吕志阳.云计算环境下的软件测试服务分析[J].信息工程.科技展望,2016,02:1-3.

    [3] 王伟军,姜毅,刘蕤,Kari Smolander.云计算环境下软件测试研究进展[J].现代图书情报技术,2012(11):3-9.

    [4] 田丽迎,王宇,姜雪婷.基于云计算的软件测试中的调度问题研究[J].计算机与现代化,2016(10):62-66.

    [5] 顾宇隆,杜明,刘振宇,等.基于本体的云测试资源分配与任务调度方法[J].计算机应用与软件,2015,32(11):14-35.

    [6] 曹咏春,刘小君.云测试综述[J].现代计算机,2011(10):25-28.

    [7] 雷万保.云计算环境下的软件测试研究[J].信息化研究,2013,39(1):1-3.

    [8] 徐小平.云计算环境下的软件测试服务分析[J].电脑与电信,2016(3):64-66.

    [9] 何世亮.元计算环境下的软件测试服务分析[J].數字技术与应用,2016(6):0228.

    [10] 陈阳.云计算环境下的软件测试服务研究[J].信息通信,2015(12):0190.

    [11] 周有志.基于云计算分布式系统性能测试技术研究与应用[D].东华大学,2015.

    [12] 肖明清,杨召,赵鑫.云测试的概念及其应用探索[J].计算机测量与控制,2016,24(1):1-11.

    [13] John Watkins.实用软件测试过程[M].北京:机械工业出版社,2004.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/11 8:37:26