云计算是一种按需提供计算资源的模式,它可以降低管理成本,是IT行业中一直广泛热议的话题。它主要分为以下服务层次:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。云计算支持把所有东西都作为服务(XaaS)交付的模式,提供了非常广泛互联网服务,从安全和数据库到存储和集成均有所涉及(云测试资源请参阅此链接)。

  云计算改变了我们交付软件和使用软件的方式,传统的软件许可方式正在逐渐减少,而越来越多的公司采用了租用软件服务的方式。2010年,Gartner经研究后预测:2012年将有20%的企业不再拥有IT资产,而是采取从云中获取的方式(虽然这些预测并没有进行跟踪确认)。云服务在成长是事实,但在部署云应用之前仍然要经历开发和测试。随着云服务的增长,对基于云服务开发的应用的测试需求也在增长。

  云测试门槛相对较低。云测试按需服务,并针对使用收费。许多公司已经提供了云测试服务(参见表1),比如性能测试、负载测试和Web应用测试,以及在云中托管的测试环境。

  云测试主要的优点是节省了内部测试环境的创建、维护和审批成本。例如,一个IP语音电话的网络管理系统,如果用亚马逊的云去测试它只需要花费不到130美元。其他方面的优点还包括可以更灵活地根据需要选择测试环境、可以在全球市场选择供应商和客户。尽管有很多优点,但从另一方面来看也会付出一些难以发现、难以估算的代价:在云测试中创建测试用例和脚本需要特定的技能,而且安全保障与监控也会带来额外的成本。我们在本文中提供了一个如何选用云测试的路线图。

表1 云测试供应商实例

 

 

 

 

云供应商

测试服务

Soasta

用于测试Web应用和网站的性能、扩展性、可靠性的云服务,可以测试内部和生产环境

STaaS

按需服务,让客户可以随时随地访问测试工具和测试环境

Zephyr

可扩展的全生命周期测试管理平台,集成了各种测试工具和测试系统,提供了全球访问性、协同办公、可视化管理、实时更新等特性

Sauce Labs

基于Selenium的测试服务,可跨多浏览器测试Web应用,支持浏览器任务自动化,可以同时执行多个测试。

Skytap

可扩展的云解决方案,可以可视化地控制云端应用,能够用来做应用的开发、测试、迁移和评估,也可以创建混合云

uTest

从“Web、桌面和移动应用”专业测试人员的众包池中提供功能、安全、负载、本地化和易用性测试服务

IBM

在私有测试环境中提供按需服务的、安全的、动态的、可扩展的测试服务资源,该环境包含易于使用的平台、服务需求管理、自动化和配置管理等

PushToTest

持续集成平台服务,结合网格技术与云计算,可以跨单个或多个云测试环境执行测试

CloudTestGo

在快捷、高效、真实的环境中执行性能测试的解决方案,可用于Web应用、电子商务应用、垂直商业应用的负载测试

BlazeMeter

用于负载与性能测试的云平台,也可以用于云监控,能够创建负载测试脚本、执行实时监控以及运行新的服务器

 

  研究过程

  为了解云计算应用相关动态,我们采访了15家软件组织。我们选出在云计算与云测试应用中较为的8家进行深入分析。其他组织尚未完全应用云计算,或者仅有这方面的意向,所以我们不作为研究分析重点。我们调查了云计算与云测试结合中显露出来的所有优势、机会、挑战或问题。

表2 组织访谈录

 

 

 

 

 

描述

被访者角色

公司介绍及与云计算的关系

公司规模7

测试中使用云的情况

1

云计算创业公司

负责人

个人云计算创业公司,提供咨询和培训服务,并作为云服务代理,帮助客户从大型云服务提供商那里购买服务器实例,目标客户是中小型企业中的开发者社区。

微型

有自己的测试平台,并委托一小部分客户在不同的环境中对系统进行测试,通过他们的反馈进一步完善系统。

2

软件开发咨询服务

首席技术官

专门从事软件开发与云计算

小型

使用云计算进行伸缩性与性能测试

3

服务管理与云计算专家

创始人兼合伙人

针对IT服务管理提供咨询与专业服务,云计算平台提供咨询和应用开发服务

小型

为达到特定的测试目的而使用基于云的服务器,主要采用force.com平台

4

全球性云供应商

架构师

通过平台为客户提供创建、托管和管理应用的一系列云服务

大型

逐渐将他们的开发、测试和应用服务向云环境中迁移,部分开发和测试工具已经迁移到了自属的云平台。该组织预计超过50%的开发连接到云计算。

5

大型公司的性能测试团队

团队负责人

提供IT、开发和咨询服务

大型

该组织有一个云性能测试试点项目,用来评估能够向客户提供何种程度的云性能测试

6

跨国IT服务供应商

服务研发经理

提供云基础设施、应用和咨询,以及跨行业领域的IT服务

大型

开发自有云平台,用以支持新应用的开发、测试以及已移植到平台上的应用

7

咨询公司

测试与方法论总监

提供信息管理、数字化业务、软件开发与测试服务

大型

将云测试作为备选方案供客户决策

8

非盈利公众IT机构

两名开发经理

为学术界、研究院和公司提供数据、计算、应用程序和信息管理服务

中型

作为发展项目的一部分,该组织开发人员正在探索,在云测试环境中测试他们代码的可行性。它的服务已经迁移到了云上,并规划了一个新的数据中心。