云测试的影响

  我们发现了云计算对测试产生的几种影响。我们把它们分为三组:对实际测试的影响、对交付的影响和对测试服务的支持,以及云测试的挑战。

  对实际测试的影响

  访谈者的意见帮我们确认了几个对测试较为显著的影响:

  更高效的性能测试

  云计算可以实现更及时、更经济的性能、扩展性和压力测试。云计算提供的服务可以满足传统方式很难实现的时间和成本要求。(上表中)组织1的负责人说,“你可以更轻松地运行不同的开源进程堆栈应用,甚至已被许可的服务器(如Windows Server 2003或2008),几乎不必花费多少时间和成本,然后在这些服务器上安装测试软件去做测试。”按照以前的传统,测试实验室会是一个大机房,里面有许多服务器,上面运行着各种操作系统。通常,这是笔巨大的投资,因为即使不使用服务器也需要不间断地维护。有了云计算,我们可以更快地测试。如果我们不再使用这些服务器,可以随时退回他们。两位访谈者云性能测试展开了讨论:

  你不可能使用传统方式得到40台高端、昂贵的服务器。这根本无法实现。但我们很清楚,使用云计算可以让你做有效的测试,这是任何其他方式都难以实现的。例如,我做过一些性能测试,用40个亚马逊实例去模拟20000个用户行为。它们要真实地在全内嵌的浏览器套件上运行,所以这不是一个简单的HTML-HTTP请求测试,要用来充分展现浏览器对DOM和JavaScript的支持,并测试富互联网应用。(首席技术总监,组织2)

  还有一个为活动售票的Web票务服务。显然……峰值需求是关键。因此,他们要测试一下解决方案。是否一切妥当?有没有充分利用平台?他们在Azure环境中搭建了一个独立的测试平台,用以测试云计算解决方案。因为它能提供足够的负载,而不必准备上百台的测试服务器。(架构师,组织4)

  快速测试。总的来说,更短的测试时间促成了更快速的开发。

  任意一个新特性开发完成之后,你可以在不同的(假设是10个)环境中进行测试,紧接着你可以立即拿到有效的报告,并在将来的开发中使用。

  在大项目中,如果你在云环境中做测试,将缩短测试周期,因为在开发团队和测试团队之间可以更快地迭代。(架构师,组织4)

  终产品也会更加符合业务需要。公司可以迅速建立用于测试(和开发)的基础设施,可以有更多的时间去处理实际业务:

  我认为缩短时间可以更快地开发。在业内比如客户关系管理[CRM],你公司已准备绪的CRM,好像要去注册的Hotmail一样。于是你和我共同的工作是去理解你需要修改什么,但完整的系统可以直接提供给你。 (创建人,组织 3)

  更真实的测试结果。基于云的系统可以很轻松地跨越不同的操作环境,使开发人员以用户的视角理解服务的可用性。组织1的负责人发现了这么做的好处:

  我把服务以折扣价提供给一些客户,作为回报,他们向我反馈该服务的使用情况,诸如疑似Bug或他们发现的其他缺陷。

  当考虑是否在云中做测试时,已有内部测试环境的公司必然根据他们自身的主要问题做出决策。这需要在内部测试环境与云测试环境之间做个权衡,内部测试环境比生产环境要小,而云测试环境与生产环境类似。内部测试环境安全,但会影响到测试结果的质量。而另一方面,云测试环境能够产生更真实的测试结果,但需要更加关注数据安全性。组织必须做出恰当的选择:

  大多数公司可能会说,“好吧,我们既然已经有了这个环境,让我们继续使用吧,它会给我们满意结果的。”然而,你看看云测试环境的优势,在不久将来的某一时刻,必然会有人迈出这一步。