基于云计算的软件测试系统研究
2017-02-20谢巧玲
谢巧玲
西安文理学院信息工程学院
基于云计算的软件测试系统研究
谢巧玲
西安文理学院信息工程学院
软件测试是软件开发中不可缺少的一个环节,软件测试在传统环境下具有测试周期长、测试成本高等特点,操作者极易产生枯燥之感。基于上述背景下,将云计算技术引入测试环境中,促使整个测试过程在虚拟环境下实现。本文以云计算技术相关知识为研究对象,深入分析云计算环境下软件测试交互平台设计要点,进一步阐述云测试系统整体架构及软硬件环境设计情况,以期为类似研究提供一定指导。
云计算技术 软件测试 测试系统 软硬件环境
云计算作为分布式计算模式,云计算运用虚拟化技术和网络对云中资源展开统一的管理和对外服务,以此形成以用户为中心“按需使用、按量付费”的服务模式。本文结合云计算技术、软件测试思想,设计软件测试系统总框架及交互服务平台,有效提升软件测试效率和资源利用效率,进一步缩减测试成本,从而达到自动化测试软件的目的。
1 概述云计算相关知识
云计算就是依托互联网技术的计算方法,它能直接把共享信息、软硬件资源提供给计算机。由云计算服务特点分析,主要表现为资源池能为多人共享、可靠安全性高,用户终端处理更为方便。云计算是1980年大型计算机到客户端—服务器转变后的重大巨变,它彻底改变用户获取信息、软硬件资源的方法。云测试是依托云技术、解决方案展开软件测试,简言之,云测试就是软件测试、云计算的结合体。云测试作为新型的测试方案,它能合理调用分布式测试资源,并借助统一的服务平台或形式展现给用户,为企业提供一个能够共享的自动化测试交付平台。整个测试操作中,与云计算相关内容主要展现在虚拟化技术、云平台管理、海量数据管理等方面。其中,云平台能满足安全、性能、管理等多种测试要求。基于云计算开展软件测试,其优点为只需支付平台服务费用,不需要在测试工具上投入大量资金。同时,企业运用云测试服务时,能够使用多种测试资源,从而为测试者进行软件测试带来诸多便利。
2 基于云计算设计软件测试平台
虽然传统软件测试法也存在一些优势,但具体应用中往往出现测试工具配置、测试工具使用等方面的问题。将云计算技术引入软件测试中,能有效解决传统软件测试法中的问题。必须注意,使用云计算技术要设计好相应的交互平台,将Web交互界面提供给测试者,整个测试过程在虚拟环境中实现,用户只需等待测试结果即可。设计交互平台时,先要由平台整体架构入手,设计云计算三层架构模式,统一管理部分以交互平台为主。实际设计中,要求设计者在Web界面中选择测试服务,进而明确软件测试需求。基于此构建虚拟机实例,这个过程可在虚拟机池调用AWS EC2实现。若虚拟机实例被构建以后,REST ful API能把测试数据传递给AGENT,此时,服务器会依据上述数据确定信息并发布软件测试时间。最终测试结果传递至服务器,并形成相应对的图表和报表,用户只要深入分析上述图表和报表,便能获取测试结果。
3 构建软件测试系统
3.1 设计测试系统总架构
云计算包含基础设施即服务(IaaS)、软件即服务(SaaS)、平台即服务(PaaS)三种模式,云测试系统以上述上中服务模式为依托展开设计,具体架构见图1。在Iaas层中,系统借助虚拟化技术把处理器、网络及其他设施资源虚拟为资源池,并以服务的形式统一提供给用户。用户依据自己的需要向系统提供请求,无需关注资源如何进行分配和调度,有利于提升硬件资源利用效率,确保整个测试过程达到智能化、自动化的管理效果。TaaS层:系统根据访问接口传出的测试需求,挑选空闲的软硬件完成安装,达到配置、维护目标测试环境的目的。PaaS作为软件开发的业务平台,能为使用者提供定制化研发中间件平台。该层主要包含虚拟资源管理、测试任务和中间件管理三个模块组成,其中,虚拟资源管理模块旨在合理调度、分配虚拟化基础设施;测试任务管理模式重点功能调度测试任务。
3.1.1 配置测试系统硬件环境
构建云测试系统过程中,为节省研究成本,确保软件测试的经济性,我们使用三台x86架构单个服务器为测试系统的硬件设备。必要情况下,可逐步扩展硬盘、内存等各项资源。在云测试系统中,使用三台计算机为服务器,其一台当做云测试控制与存储节点,另外两台作为计算节点,这两台计算节点划分为控制和执行节点。
3.1.2 设计云测试系统软件环境
搭建云测试系统时,先要选择恰当的云环境。因本次设计的云测试系统仅供研究使用,因此,设计者并未使用商业云方案。分析其原因如下,商业化云平台和服务使用要按需支付相应的费用,这种情况会增加不必要的成本。加之,上述云测试系统底层设计牢牢把握在提供商手中,并未对外开放。此时,选用开源软件成为最佳的选择。一方面,使用开源软件时无需获取商业授权,能把云计算软件测试研究及实践控制于较低成本中。另一方面,这种软件支持下载源代码,确保研究者能深入研究底层设计架构。现阶段,使用最多的开源云包括CloudStack、OpenStack两种,前者最初是商业化产品,2011年被Ctrix公司收购,随之捐献给Apache基金会,转变成开源软件。后者是由Nasa、Rackspace主导设计的基础云,其拥有HP、Dell、IBM等大型公司用户群。因CloudStack曾是一款商业性软件,以被证实能安全、可靠的用于生产系统中,因此,设计者最终选用CloudStack作为云平台,并使用KVM为虚拟化软件。GentOS操作系统作为RedHat非商业化版本,对CloudStack支持度较高,也是官方主动推荐的操作系统。因此,笔者使用GentOS为服务器操作系统。
结论:综上所述,使用云计算技术要正确认识其功能与传统软件测试存在的问题,并设计相应的交互平台和测试云系统,保障软件测试在云计算环境下实现,满足现代化测试高效率的要求。本文研究从云计算相关概念入手,详细介绍云计算平台和云测试系统的设计,以期提升软件测试效率。
[1]杨巍.软件自动化测试系统的设计[J].科技传播,2014,23(18):234-234,229
[2]高翀.基于云计算和CDN的软件自动化测试系统[D].复旦大学,2014
[3]张恩海,王铎,于晋瑄等.移动终端应用层软件自动化测试系统设计与实现[J].科技资讯,2015,13(3):12-13
谢巧玲(1979—),女,陕西省安康市人,西安文理学院信息工程学院讲师,硕士,主要从事软件开发、软件测试研究。