云计算环境下的软件测试服务分析
2016-03-08徐小平
徐小平
(鄂州职业大学计算机学院,湖北 鄂州 436000)
云计算环境下的软件测试服务分析
徐小平
(鄂州职业大学计算机学院,湖北 鄂州 436000)
信息技术的快速发展为各行业领域注入新鲜的活力。以软件测试服务为例,传统测试方法应用下,测试效率难以得到保障,且需耗费较多成本,而云计算环境下,软件测试更具便捷、高效等特点,且带有一定的自动化特征。本文主要对云计算技术的相关概述、传统软件测试的主要方法、云计算环境下软件测试服务交互平台的设计以及软件测试中测试云系统的构建进行探析。实现云计算环境下的软件测试,满足现代软件测试高效、便捷等要求。
软件测试;云计算环境;交互平台;测试云系统
1 引言
作为软件产品开发的重要环节,软件测试在传统环境下采用的手段多以劳动密集型手工方式为主,测试周期较长,人员实际操作中多会产生枯燥之感,整个测试的成本极高。在此背景下,云计算环境便被引入其中,该环境涉及到较多基础设施即服务、平台即服务、软件即服务等服务模式,使软件测试可在该虚拟环境下完成。但如何使软件测试在云计算环境下实现,还需做好交互平台设计与测试云系统构建工作。因此,本文对软件测试在云计算环境下的实现研究,具有十分重要的意义。
2 云计算的相关概述
关于云计算,其主要指以互联网技术为依托的一种计算方式,可直接将共享信息、软硬件资源向计算机提供。从云计算服务的特征看,主要表现为资源池可为多人共享、用户终端处理较为便利且资源部署得以实现。而在此基础上提出的软件测试自动化,无需通过测试脚本录制、测试用例设计等,可直接在计算机中操作便可获取相关的期望数据,软件硬件资源能够得到合理化配置,且整体测试效率较高。一般自动化测试中,可应用的范围集中表现在:①对于单击键测试、数据重复录入等,可采取自动化测试方式,如回归测试等;②在验证设计文档或测试人员了解程序等方面,需引入测试自动化工具;③若需对用例覆盖路径、程序控制流程进行测试,应将自动化工具引入其中;④在测试报告文档生成中,可将自动化工具应用其中。另外,对于云测试,在构成上主要以云、测试为主,主要将软件测试过程置于云环境下。整个测试过程中,涉及的云计算技术体现在虚拟化技术、分布式存储、云平台管理以及海量数据管理等方面,其中的云平台可满足许多测试要求,包括安全性测试、功能测试、性能测试以及测试管理与报告生成等。将软件测试置于云计算环境下,其优势表现为仅需支付平台服务费即可,无需在测试工具上投入较多资金,且企业在利用云测试服务中,可享受极多的测试资源,加上系统平台环境可被测试人员使用,为软件测试带来极大的便利[1]。
3 传统软件测试的方法研究
以往软件测试的实现多以硬件环境为主,在测试需求环境得以合理配置的基础上,将测试软件部署其中,根据相应的测试流程与测试方案完成测试软件的性能、功能等,或在测试中注重对维护测试系统、测试工具设计进行编写。具体测试中,采用的测试方式首先表现在aB测试工具方面。该工具又可被称为apache Bench,在实际应用中仅需做好ab命令的下达,便可模拟访问相应的URL,在此基础上可使关于访问效率报表得以生成,该报表中将充分反映出高压力访问下网站的实际情况。以ubuntu环境为例,测试过程中可直接将相应的命令输入,便可完成测试网站的过程[2]。
其次,传统软件测试中采用的测试工具也表现在JMeter方面,通常对于动态资源性能、静态资源性能等测试,可依托JMeter实现,如FTP服务器、数据库查询、Perl脚本以及Java对象等。从该工具结构特征看,主要以树形结构为主,与Windows资源管理器结构极为相近。以登陆过程测试为例,要求做好限定条件明确工作,包括:123毫秒以内的响应时间、身份验证信息需在登录后返回且保证返回结果超出10bytes。具体操作中可进行测试组的构建,对循环次数、测试试件以及出现程数进行定义,在此基础上结合JMeter工具将相应assertions添加在request sampler中,这样整个软件测试过程便可实现,仅需对.jtl文件进行分析,便能推出最终的测试结果[3]。
最后,在自动化技术快速发背景下,Selenium工具逐渐被引入其中,该工具在测试中需做好自动化测试系统的构建,易用性、扩展性以及兼容性较强,对于较多浏览器如Mozilla Firefox与IE等浏览器都可支持。从该工具的组件上看,主要表现为Selenium IDE、Selenium Core、Selenium Remote Control等,不同组件可对不同浏览器进行支持。实际应用该工具中,其优势主要表现为不仅能够运行于浏览器中,且对于较多系统平台都可有效支撑[4]。
4 云计算环境下软件测试服务交互平台的设计
尽管传统软件测试方法应用中也具有较多的优势,但实际应用中往往会面临较多如测试工具配置、系统环境构建以及测试工具使用问题,操作效率并不高。而将云计算技术引入软件测试中,便能很好的解决传统软件测试中的这些弊病。但需注意在实际应用云计算技术中,需做好交互平台的设计,其可将Web交互界面提供给测试人员,整个测试过程完全在平台调度虚拟机中实现,用户仅需等待反馈结果即可。具体进行交互平台设计中,其涉及的流程主要为测试需求分析、测试流程确定、交互平台设计以及相关技术的融入等。
4.1 测试需求分析与流程的确定
软件测试的需求通常表现在:①测试对象若为商业软件产品,要求使其安全性、机密性得以保障;②测试中若涉及预先安装软件或其他指定系统,应注意做好测试环境的预先配置;③为使测试工作顺利开展,需保障在人力资源、硬件资源等方面给予强有力的支撑,使操作系统平台功能得以发挥;④可将整个测试过程细化为不同阶段,并明确各阶段需要的资源数目。实际分析测试需求中,还需考虑其面临的问题,包括资源管理、执行方法等,要求引入虚拟化技术,并考虑测试用例的提供以及交互式测试界面的设计,这样才可使需求问题得以解决。事实上,这种解决方式实质便为测试云的体现,其在保证资源均衡优化的基础上,可将测试平台提供给测试人员。整个测试流程具体可细化为用户测试需求的接受、数据的分析与存储、虚拟机的配置与调度、云测试的开展与的报表的生成等[5]。
4.2 交互平台的具体设计
交互平台设计中,首先需从平台的整体架构着手,该架构主要以云计算三层架构类型为主,其中能够进行硬件物力资源提供的主要以基础设施云为主,而统一管理调度的部分则以交互平台为主。具体设计交互平台中,要求人员在Web界面中进行测试服务的选择,这样可使测试需求得以明确。在此基础上进行虚拟机实例的构建,该过程可通过在虚拟机池中进行aWS EC2的调用来实现。当虚拟机实例被构建后,RESTful aPI可将测试数据传输给aGENT,此时服务器便会根据这些数据进行信息的确认与测试时间的发布。最终测试的结果向服务器传输,并有相应的图表与报表生成,用户只需对这些图表、报表进行分析,便可得到测试结果[6]。
4.3 相关技术在平台中的应用
交互平台的设计主要得益于相关技术的应用。其中的技术首先表现在Play framework方面,其能够将无状态MVC模型设置其中,并选用Java Web应用框架,应用于交互平台设计中可满足HTTP到代码映射要求,且在bug被修复后能够重新加载。其次,交互平台设计中的技术也表现在REST-ful aPI方面,其应用特点主要表现为仅需在类路径中添加JaRs文件即可,无需引入相关的配置文件,且可使GZIP解压缩在服务器端实现,同时不必依托Servlet,可直接利用Seam提供HTTP请求。最后,技术的运用也表现在Jclouds aPI方面,该技术可使web复杂性得以处理,且运行中可迁移性特点较为明显[7]。
5 软件测试中测试云系统的构建
在交互平台设计的基础上,还需考虑构建测试云系统,使整个测试满足自动化要求。实际设计中首先应注意合理选择基础设施云,尽管基础设施云可采用自行构建方式,但其需投入较多成本,且其中的技术应用也是构建设施云面临的重要难题。因此,在选择中可考虑直接由IaaS进行设施的提供。根据软件测试的实际要求,在基础设施云选择中可以amazon EC2为主,其在特点上表现为灵活性较强、弹性特征明显且在计算能力上能够做到熟练缩放,对于交互平台调用可起到良好效果。具体进行amazon EC2创建中,要求做好模板映像的配置,或直接进行亚马逊机器映像的构建,使的相关的配置、程序以及数据都融入其中。同时,构建中需对操作系统与实例类型进行确定,在此基础上通过web服务aPIs的应用,实现虚拟机的具体操作过程。需注意的是,虚拟机实际运行中可能处于多个地点,此时可考虑将虚拟机实例、静态IP端点等设置其中,确保整个虚拟机可靠运行。
其次,需进行虚拟机实例的构建。该过程主要表现在:第一,进行初始OS实例的构建,一般aWS中管理界面可将所有云服务显示出来,包括VPC、S3以及EC2等,操作中可对EC2进行点击,完成虚拟机实例的创建过程。第二,做好测试环境的配置与测试工具的安装。初始实例创建后,应判断此时测试工具是否可满足软件测试要求。在工具选择中可以具体的测试要求为依据,如可进行aB测试工具、JMeter测试工具的安装,能够符合软件性能测试、压力测试等要求。若需使测试过程更具自动化特征,还需将Firefox浏览器进行安装,满足环境设置要求。此外,在虚拟机实例构建中,还需做好aGENT的安装、镜像文件的创建以及文件ID的获取等工作。
最后,需进行虚拟机池的构建。虚拟机池的构建旨在解决虚拟机运行中出现的频繁创建问题,虚拟机复用性可得以提高,并保证整个运行环境更为平稳。在实际构建中,可考虑进行虚拟机的创建,在此基础上使资源池融入所有虚拟机。假若其中某个虚拟机需被使用,进行将请求向资源池中发送,便可达到虚拟机使用的目标[8]。
6 结语
云计算技术的应用为软件测试提供坚实的技术保障。实际应用云计算技术中,应正确认识云计算技术的基本内涵与传统软件测试的弊端,做好交互平台的设计,并进行测试云系统的设计,确保软件测试可在云计算环境下实现,满足现代软件测试高效、便捷等要求。
[1]孟祥超.云计算环境下的软件测试服务研究[D].大连海事大学,2013.
[2]王伟军.“云计算环境下的软件测试及服务研究”专题序[J].现代图书情报技术,2012,(11):1-2.
[3]王伟军,姜毅,刘蕤,等.云计算环境下软件测试研究进展[J].现代图书情报技术,2012,(11):3-9.
[4]张一弛.云计算环境下的“测试即服务”模式及其实现[D].华中师范大学,2013.
[5]赵涛.基于云计算的软件测试技术探索与研究[D].西安电子科技大学,2014.
[6]陈阳.云计算环境下的软件测试服务研究[J].信息通信,2015,(12):190.
[7]李玉,尉双梅.云计算环境下的软件测试服务研究[J].电脑知识与技术,2015,(32):174-175.
[8]孙晓霞.云计算环境下的软件测试服务研究[J].信息化建设,2016,(02):35.
[9]李婷,李晓龙.云计算的资源管理方法研究[J].电脑与电信,2010,(1):62-64.
analysis of Software Testing Services in Cloud Computing Environment
Xu Xiaoping
(Ezhou Polytechnic,Ezhou 436000,Hubei)
The rapid development of information technology injected fresh energy to the field of various industries.Taking the software testing services as an example,the test efficiency of traditional test method is difficult to be ensured,and it takes more cost. By contrast,the software testing in cloud computing environment is more convenient and efficient,and it has automation feature. This paper studies on the related overview of cloud computing technology,the main methods of traditional software testing,software testing service interaction platform design in cloud computing environment,and the construction of testing cloud system.It realize the software testing in cloud computing environment,meeting the requirement of efficiency and convenient.
software test;cloud computing environment;interactive platform;test cloud system
TP311
a
1008-6609(2016)03-0064-03
徐小平,男,湖北鄂州人,大学本科,讲师,研究方向:网络、云计算及算法研究。