论文部分内容阅读
摘 要:云计算是当前网络环境下最新的一种信息化技术,基于云计算的软件测试也是一种新兴的应用形式,这给软件组织和结构设计带来了前所未有的影响。本文主要主对云计算环境下的软件测试服务的交互平台设计以及系统搭建相关问题进行分析和探讨,仅供参考。
关键词:云计算;软件测试;交互平台;系统搭建
随着信息技术的快速发展以及人们对软件产品质量的要求日益提高,软件行业的竞争也越演愈烈,如何才能尽快完成软件开发,缩短测试周期,以最少的投入获得高质量的软件产品,成为了整个软件行业关注的焦点问题。无论是传统手工测试海事自动化测试均有其自身局限性,难以同时解决高效率和低成本的问题,基于云计算的软件测试服务模式应运而生,其发展和应用前景备受看好。
一、云计算环境下的软件测试交互平台的设计
(一)测试需求与服务流程分析
软件测试通常要满足以下要求:应确保执行过程中的安全性和机密性,能够满足指定操作系统对其他软件的特殊需求,能够预先配置测试环境。由于传统的软件测试是在硬件环境下来完成对软件的测试,但是随着测试资源的不断扩大,这势必会导致测试支出成本的上升,同时测试环境又需要维护,在变更过程过程中将会给测试资源管理造成很大的压力,鉴于测试资源的有限性,软件的全面测试很难开展,而采用分散的管理方法,最终也会降低测试的效率[1]。由此可见,硬件环境下的软件测试将面临资源管理、执行方法与效率等诸多问题,需要对其进行优化。目前提出的解决方案有基于虚拟化技术的测试平台、采用并发执行测试任务以及基于Web服务的交互式测试界面,由此形成的综合体就是测试云,概括来讲,云测试解决方法就是通过虚拟化技术、分布式计算和Web服务来实现资源的均衡,提高系统的易用性,从而满足用户的测试要求。云测试服务流程为:接受用户请求→对数据进行存储→配置虚拟机→调度虚拟机→进行测试→收集结果→生成报表[2]。其中,接受用户请求应选择需要的测试服务,设置测试目标;配置虚和调度虚拟机应从虚拟机资源池获取,然后调用AWS接口,报告服务状态,获得确认后发布测试时间。
(二)交互平台整体架构的设计
云测试交互平台采用的是三层架构,硬件物力资源由基础设施云提供,中间层对获取的虚拟实例进行通过管理,并为应用层提供服务。交互平台整体架构的设计应先选择需要的测试服务,通过友好的Web界面来设置测试目标并完成对需求信息的存储,整个系统的开发框架是由Java框架Play来完成,这也是测试数据录入和存储的基础;虚拟机的配置和数据交互接口则分别通过Jclouds API和RESTful API来完成,技术实现流程为:User→Web→AWS→VM AGENT→Client。云测试交互平台涉及到Play Framework、RESTful API和Jclouds API等技术,就Play而言,这是一个纯Java语言的框架,由此构建的Java环境更为高效,能够对源代码进行自动编译,在修改bug后能够自动完成加载,具备页面更新快捷、模板引擎高效以及JPA持久化等优点[3]。
二、云计算环境下的软件测试服务的系统搭建
(一)选择基础设施云
基础设施云可以由用户自己组建,也可以使用服务方提供的基础设施,采用前种方式需要投入大量的资金,而且相关技术也不易掌握,因此多采用后种方式。现在能够提供基础设施云的服务厂商越来越多,鉴于AWS提供的EC2具有多地点存储、弹性块存储、弹性负载平衡、弹性的IP地址、虚拟私有云等服务特点,更适用于测试AMI镜像,在此选择AWS EC2來创建虚拟机池。创建Amazon EC2首先应启动事先配置好的模板映像,主要包括应用程序、数据库以及相关配置设置,然后在此基础上选择合适的实例类型和操作系统,运行操作虚拟机,应保证配置的安全性。
(二)创建虚拟机及机池
AWS提供的相关云服务可以在Web管理界面显示,进入AMI选择界面,用户便能接收到Quick Start、My AMIs、Community AMIs和AWS Marketplace四种选择,完成选择后再用虚拟机对AMI镜像进行加载,由此设置实例个数、实例大小、实例类别,通过虚拟机实例选择界面,还能够完成Kernel ID、Monitoring、User Data等高级设置。完成初始实例创建任务后,应根据测试需求完成测试工具及配置测试环境的安装,还有就是AGENT及系统配置的安装,待生成新的镜像文件并注册成功后,便完成了整个虚拟机的创建。为保证虚拟机能够随时被调用,应考虑建立适用的虚拟机资源池,创建过程中务必要考虑到各方面的优缺点,尽可能地达到项目需求预期[4]。
结论:
综上所述,基于云计算的诸多优点,将云计算技术应用到软件测试领域,能够克服传统软件测试方法存在的问题,通过云测试交互平台便能够对各种基础设施资源进行统一管理,完成云测试服务。由此可见,云测试的实质就是将软件测试置于云端,将其转化为一种能够在云端实现的测试服务,而且能够实现软件测试的完全自动化,能够满足用户对软件测试的需求。
参考文献
[1]王伟军.“云计算环境下的软件测试及服务研究”专题序[J].现代图书情报技术,2012,11(4):1-2.
[2]赵涛.基于云计算的软件测试技术探索与研究[D].西安电子科技大学,2014.
[3]李志刚,冯亚娜.云计算虚拟环境下第三方软件测试环境研究[J].信息技术,2013,15(8):183-185.
[4]王昕,沈明磊.基于云计算环境下的软件测试探讨[J].电子技术与软件工程,2014,15(6):71-72.
关键词:云计算;软件测试;交互平台;系统搭建
随着信息技术的快速发展以及人们对软件产品质量的要求日益提高,软件行业的竞争也越演愈烈,如何才能尽快完成软件开发,缩短测试周期,以最少的投入获得高质量的软件产品,成为了整个软件行业关注的焦点问题。无论是传统手工测试海事自动化测试均有其自身局限性,难以同时解决高效率和低成本的问题,基于云计算的软件测试服务模式应运而生,其发展和应用前景备受看好。
一、云计算环境下的软件测试交互平台的设计
(一)测试需求与服务流程分析
软件测试通常要满足以下要求:应确保执行过程中的安全性和机密性,能够满足指定操作系统对其他软件的特殊需求,能够预先配置测试环境。由于传统的软件测试是在硬件环境下来完成对软件的测试,但是随着测试资源的不断扩大,这势必会导致测试支出成本的上升,同时测试环境又需要维护,在变更过程过程中将会给测试资源管理造成很大的压力,鉴于测试资源的有限性,软件的全面测试很难开展,而采用分散的管理方法,最终也会降低测试的效率[1]。由此可见,硬件环境下的软件测试将面临资源管理、执行方法与效率等诸多问题,需要对其进行优化。目前提出的解决方案有基于虚拟化技术的测试平台、采用并发执行测试任务以及基于Web服务的交互式测试界面,由此形成的综合体就是测试云,概括来讲,云测试解决方法就是通过虚拟化技术、分布式计算和Web服务来实现资源的均衡,提高系统的易用性,从而满足用户的测试要求。云测试服务流程为:接受用户请求→对数据进行存储→配置虚拟机→调度虚拟机→进行测试→收集结果→生成报表[2]。其中,接受用户请求应选择需要的测试服务,设置测试目标;配置虚和调度虚拟机应从虚拟机资源池获取,然后调用AWS接口,报告服务状态,获得确认后发布测试时间。
(二)交互平台整体架构的设计
云测试交互平台采用的是三层架构,硬件物力资源由基础设施云提供,中间层对获取的虚拟实例进行通过管理,并为应用层提供服务。交互平台整体架构的设计应先选择需要的测试服务,通过友好的Web界面来设置测试目标并完成对需求信息的存储,整个系统的开发框架是由Java框架Play来完成,这也是测试数据录入和存储的基础;虚拟机的配置和数据交互接口则分别通过Jclouds API和RESTful API来完成,技术实现流程为:User→Web→AWS→VM AGENT→Client。云测试交互平台涉及到Play Framework、RESTful API和Jclouds API等技术,就Play而言,这是一个纯Java语言的框架,由此构建的Java环境更为高效,能够对源代码进行自动编译,在修改bug后能够自动完成加载,具备页面更新快捷、模板引擎高效以及JPA持久化等优点[3]。
二、云计算环境下的软件测试服务的系统搭建
(一)选择基础设施云
基础设施云可以由用户自己组建,也可以使用服务方提供的基础设施,采用前种方式需要投入大量的资金,而且相关技术也不易掌握,因此多采用后种方式。现在能够提供基础设施云的服务厂商越来越多,鉴于AWS提供的EC2具有多地点存储、弹性块存储、弹性负载平衡、弹性的IP地址、虚拟私有云等服务特点,更适用于测试AMI镜像,在此选择AWS EC2來创建虚拟机池。创建Amazon EC2首先应启动事先配置好的模板映像,主要包括应用程序、数据库以及相关配置设置,然后在此基础上选择合适的实例类型和操作系统,运行操作虚拟机,应保证配置的安全性。
(二)创建虚拟机及机池
AWS提供的相关云服务可以在Web管理界面显示,进入AMI选择界面,用户便能接收到Quick Start、My AMIs、Community AMIs和AWS Marketplace四种选择,完成选择后再用虚拟机对AMI镜像进行加载,由此设置实例个数、实例大小、实例类别,通过虚拟机实例选择界面,还能够完成Kernel ID、Monitoring、User Data等高级设置。完成初始实例创建任务后,应根据测试需求完成测试工具及配置测试环境的安装,还有就是AGENT及系统配置的安装,待生成新的镜像文件并注册成功后,便完成了整个虚拟机的创建。为保证虚拟机能够随时被调用,应考虑建立适用的虚拟机资源池,创建过程中务必要考虑到各方面的优缺点,尽可能地达到项目需求预期[4]。
结论:
综上所述,基于云计算的诸多优点,将云计算技术应用到软件测试领域,能够克服传统软件测试方法存在的问题,通过云测试交互平台便能够对各种基础设施资源进行统一管理,完成云测试服务。由此可见,云测试的实质就是将软件测试置于云端,将其转化为一种能够在云端实现的测试服务,而且能够实现软件测试的完全自动化,能够满足用户对软件测试的需求。
参考文献
[1]王伟军.“云计算环境下的软件测试及服务研究”专题序[J].现代图书情报技术,2012,11(4):1-2.
[2]赵涛.基于云计算的软件测试技术探索与研究[D].西安电子科技大学,2014.
[3]李志刚,冯亚娜.云计算虚拟环境下第三方软件测试环境研究[J].信息技术,2013,15(8):183-185.
[4]王昕,沈明磊.基于云计算环境下的软件测试探讨[J].电子技术与软件工程,2014,15(6):71-72.