“云测试”是什么?
顾名思义,“云测试”由测试和云两者组成,首先它应该是一种软件测试,有它自己的测试手段、测试方法、测试过程。其次,它应该工作于“云端”,通过云来实现其方法、过程。由以上两点,可知,“云测试”就是通过“云”而实施的一种软件测试,由于与云的结合,所以它在测试方法、手段、过程等方面,具有一些自己独有的特征。
随着云计算时代的到来,人们应用信息方式将发生改变,同样也会改变提供软件服务企业的交付模式、研发模式和软件测试方式。基于云计算技术的软件测试方式即是云测试。在全球经济危机的影响下迫于成本压力,市场中有越来越多的企业开始考虑云模式所能带来的价值。
一、云计算(Cloud Computing)简介
狭义云计算是指通过网络以按需、易扩展的方式获得所需IT基础设施的交付和使用模式。广义云计算是指服务的交付和使用模式,通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是IT基础设施、软件、互联网应用相关的,也可以是任意其他的服务。
云计算作为一个新名词,它既不是一项新技术,也不是一个新概念。云的含义绝不仅仅是针对计算,而是IT系统建设的一个总体方针和大势所趋。云代表的是一个崭新的IT应用时代。
2002年,IBM首次提出On Demand随需应变,随后HP提出了Utility Computing效用计算,接着H3C提出了IToIP。甚至在更早的上个世纪90年代中,全球各地就出现过一批以ASP(应用服务商)、SSP(存储服务商)为运营模式的商业探索者,他们都是云计算的先驱和实践者。上述概念或商业构想与今天的云计算并没有本质的差异,都是对同一个IT发展愿景进行的不同角度表述。 这个愿景就是希望IT资源能够有一天像今天使用的电力、自来水一样“即插即用”,不需要关心“电”从何处来,"电"是怎样产生的,运输设备是什么。这些IT资源包括网络应用、软件、硬件设施等。
例如一家企业,他需要信息化办公,以往的模式是:企业花费大量资金采购硬件(机房、计算机)、布置复杂的网络、购买操作系统和办公软件、管理软件等、配置专业的IT管理人员等,有的设备或软件利用率还很低,实现信息化过程耗时、耗力、耗资金、更耗费社会资源,且日常使用还需要大量投入:例如设备保管、系统维护,软件升级等,而在云时代中企业只需要简单的培训,操作者通过简单的个人终端(显示器,手机等)接入云服务就可以实现系统化、自动化办公和管理需要,享受着更加质优、价廉、节能、环保的云服务。企业无须关心数据存放在哪里、怎么实现,不再采购大量的硬件和软件,不再需要布置复杂网络,这些事情交给提供"云服务"的公司去完成。企业可以视同它们为躲在"云层"后面我们看不见的跑来跑去的"雨雾"一样,只关心落下的"雨滴"。也可以视同它们是在幕后的从没见过那些导演、化妆师等,我们只关心台上正在演出的这一幕和这熟悉的演员。
二、云测试(Cloud Testing)简介
云测试是基于云计算的一种新型测试方案。服务商提供多种平台,多种浏览器的平台,一般的用户在本地用Selenium把自动化测试脚本编写好,然后上传到他们网站,然后就可以在他们的平台上运行Selenium脚本了。
三、哪些测试项目可以做云测试
通过云测试的定义我们看出:凡是测试中需要使用的软件工具和环境都可进行云测试,当前适合做云测试的项目或内容大概有:
硬件环境:测试软件在不同应用场景下对硬件环境的要求;
软件环境:操作系统、数据库、浏览器等,测试软件对不同运行平台的适应性;
适应性软件:防火墙及防病毒软件等,测试在安装不同防火墙及防病毒软件时,软件运行可靠性;
随着云计算技术的发展,为软件测试服务的各种应用亦将得到发展。适合做云测试的项目也将不断增多。
四、云测试的优势
1、立即可用
云测试提供一整套测试环境,测试人员利用虚拟桌面等手段登录到该测试环境,就可以立即展开测试。这将软硬件安装、环境配置、环境维护的代价转移给云测试提供者(公共云的经营者或私有云的维护团队)。以现在的虚拟化技术,在测试人员指定硬件配置、软件栈(操作系统、中间件、工具软件)、网络拓扑后,创建一套新的测试环境只需几个小时。如果测试人员可以接受已创建好的标准测试环境,那么他可以立即登录。
2、 装配完备
云测试不但可以提供完整的测试环境,还可以提供许多附加服务。对于测试机,它可以提供还原点,以便测试人员将虚拟机重置到指定状态。对于测试执行,它可以监控被测试程序的一举一动,例如注册表访问、硬盘文件读写、网络访问、系统日志写入、系统资源占用率、内存映像序列化、屏幕录像等。将这些信息与测试用例一起展现出来,可以帮助测试人员发现问题,定位错误。对于大规模的测试,云测试可以提供多台测试客户机,他们从主控机上下载测试用例,执行并汇报测试结果,主控机将结果汇总后报告给测试人员。实际上,这些功能已经被各种工具所实现,云测试平台的任务是整合它们,提供统一、完备的功能。这样,测试人员就可以将精力最大限度地投入到专属的测试领域中,而不是与各种工具搏斗。
3、 专家服务
最高级的测试服务是提供专业知识的服务。这些知识可以通过测试用例、测试数据、自动测试服务等形式提供。例如,许多应用需要读取文件,云测试可以提供针对文件读取的模糊测试。测试人员将被测试的应用程序提交给云,云将其部署到多台测试机上。在每一台测试上,应用程序要读取海量的文件,每一个文件都是特意构造的攻击文件。一旦栈溢出、堆溢出等问题被发现,立即保存应用程序的内存映像。一段时间后,测试人员将获得云测试返回的测试结果:一份详细的分析报告和一大堆内存映像文件。
4、节约成本
每个企业都在追求成本最低和利润最大化。软件测试作为研发生产过程的一部分也有降低成本的要求,即使用最少的机器购买最少的测试软件来完成软件测试工作。利用云测试可实现巨大节省,不需要购买或准备很多的个人电脑,购买和安装各类测试用软件,也不再需要部署复杂的网络。只需要列出测试目的、环境的要求、虚拟机台数、何时间断租用即可,实现按需支付。例如购买一套自动化测试软件至少花8000元钱,测试中只需要使用2个月,但如果按800元/月租用该软件云测试平台,只需要支付1600元。同时随着企业软件版本和技术的发展,依赖的测试软件或环境亦需要升级换代,又会产生升级和维护费用。而在云测试环境中这些因素都无须企业考虑,交由提供云测试服务的供应商完成即可。