主题:[原创]云计算向软件测试提出新挑战
“云”为北京测试空间软件测评实验室(www.btestsky.com)开发人员及提供相关服务和工具的供应商带来了新机遇。对于测试团体来说,在面临新挑战的同时,他们也将得到新工具以解决Soasta公司CEO所说的关键问题:可以正式启动了吗?
位于加利福尼亚洲圣马迪奥的Keynote Systems公司副总裁Vik Chaudhary说:“测试人员必须能够有效率地对所有层面进行测试——从应用到云服务供应商。”
根据市场研究公司IDC的调查,到2012年,在云服务上的消费将提高三倍,达到420亿美元。IDC指出,在所有IT消费中,云计算占到25%的比例,并且到2013年,这一比例还将提高到三分之一。
IDC在概念上对“云服务”和“云计算”做了区分。他们认为,云服务是指“可以在网络上实时交付并使用的产品、服务和方案”。而相对的,云计算则被定义为用于开发和部署“可以在网络上实时交付并使用的产品、服务和方案”的基础设施或软件系统。
Chaudhary对此做了如下解释:“Schwab、Travelocity等企业多年来一直在开发自己的数据中心。而其中的关键问题是要对扩展性极强的应用程序进行管理,并保证最好的客户体验。为此,他们聘用了大量人员来做监控、测试和添加服务等工作。”而最近云设施技术的发展,比如Google App Engine,使得其它企业可以在Google的设施上运行他们的应用。“这意味着在云中部署应用的门槛已经相当低了。你不再需要数据中心或操作团队,而可以全力以赴地开发应用和功能。这是一种应用开发范例的转变。”
对于测试人员来说,这同样意味着一种转变。Chaudhary举例道:“比如你构建了一个应用,可以通过黑莓手机使用,并托管于一家云公司(Salesforce),Salesforce要运行一定量的测试以保证服务可以正常使用。但是,对于应用本身来说,它是运行在1部手机上还是50部手机上呢?你是否需要加载一个非常大的页面呢?”另外,云托管公司可能会使用第三方的服务来提高性能。其对于测试结果就是,终端用户的体验将受到公司、云供应商和所有其它相关团体的影响。
减少测试成本
Lounibos说,加利福尼亚山景城的Soasta公司有一个正在逐渐扩大的客户群,他们没有自己的服务器,所有的操作都在云环境下进行,“尽管如此,他们的大部分操作还是比较传统的;他们与托管服务供应商合作,对云领域只做适度地深入。”然而,他也指出,基于云的测试也是企业了解云并减少测试成本的一个途径。
“传统的客户认为测试是一个扔钱的无底洞。他们一直在寻找可以减少成本的方法。对于公司来说,云计算的主要问题是,它是否足够可靠。而测试不同。云环境下的测试只是模拟真实的情况,它并不涉及与生产相关的问题。但是它确实可以减少成本。”
Lounibos说,通过云计算,测试人员“能够访问并使用大量的计算资源,而这正是测试所需要的。这个主意实在是太诱人了:你可以在5到8分钟内准备好125台服务器,但只需要按测试时间支付费用。你再也不需要为Web应用准备大型测试实验室了。”
比如,可以使用Soasta的CloudTest虚拟云环境测试实验室或设备。它支持负载、性能、功能和Web UI/Ajax测试。 而Keynote公司则为测试和分析互联网云上的Web应用提供了KITE (Keynote Internet Testing Environment)。通过KITE,可以在桌面及地理位置不同的各个位置随时进行测试。 Chaudhary认为,互联网应用的性能测试特别需要在云环境下进行。“对于互联网应用来说,这不只是应用本身的问题,它涉及所有相关的供应商。你无法决定用户是使用DSL还是拨号,或者是移动设备。性能测试本来就是取决于环境的。”
对于移动应用,Chaudhary认为,性能测试和功能测试都应该在云环境下进行。他说:“对于移动应用来说,功能测试同样也取决于供应商。你有一个可以登录的显示屏,即使应用可以正常运行,网页的大小、显示屏的大小,以及所有供应商也都会对其产生影响。”通过在云环境下进行测试,企业就能更容易地对上百种设备进行测试,同时节省更多的成本。
市场研究公司Enterprise Management Associates副总裁Dennis Drogseth认为,对于在云环境中的应用来说,“你要测试与应用有关的网络性能、服务器性能、数据库性能、软件性能,以及它在客户端上的缓存情况。如果你只有在某个位置上运行的一个应用,你当然可以在一个位置上对其进行测试。但是对于Amazon或Facebook来说,应用分布在许多不同且无法预测的位置上。这种情况显然要比运行一个基于单一服务器的应用测试脚本复杂得多。”
我们所面临的问题就是,要在各个不同的组件和地理位置上运行测试以确定问题,而“企业的应用开发通常无法使用这种环境。因此,Keynote(以及其它类似公司)就为这些测试人员提供了一个可用的环境,让他们可以利用互联网云和各种可能出现的情况,使用真实的网络和桌面。”
对新测试工具的需求
北京测试空间软件测评实验室(www.btestsky.com)认为现在需要新型测试工具。“你不能再使用为LAN或独立服务器准备的测试工具来进行云计算。所以,我们需要可以让我们了解网络和桌面等相关问题的工具。我们要让开发人员进入网络环境。” Lounibos也认为,“在将来五年的时间里,所有的测试工具供应商都会进入到云领域。届时将产生新一代的测试公司。云计算是一块有巨大潜力的市场,因为这就是我们使用服务的方式。”
位于加利福尼亚洲圣马迪奥的Keynote Systems公司副总裁Vik Chaudhary说:“测试人员必须能够有效率地对所有层面进行测试——从应用到云服务供应商。”
根据市场研究公司IDC的调查,到2012年,在云服务上的消费将提高三倍,达到420亿美元。IDC指出,在所有IT消费中,云计算占到25%的比例,并且到2013年,这一比例还将提高到三分之一。
IDC在概念上对“云服务”和“云计算”做了区分。他们认为,云服务是指“可以在网络上实时交付并使用的产品、服务和方案”。而相对的,云计算则被定义为用于开发和部署“可以在网络上实时交付并使用的产品、服务和方案”的基础设施或软件系统。
Chaudhary对此做了如下解释:“Schwab、Travelocity等企业多年来一直在开发自己的数据中心。而其中的关键问题是要对扩展性极强的应用程序进行管理,并保证最好的客户体验。为此,他们聘用了大量人员来做监控、测试和添加服务等工作。”而最近云设施技术的发展,比如Google App Engine,使得其它企业可以在Google的设施上运行他们的应用。“这意味着在云中部署应用的门槛已经相当低了。你不再需要数据中心或操作团队,而可以全力以赴地开发应用和功能。这是一种应用开发范例的转变。”
对于测试人员来说,这同样意味着一种转变。Chaudhary举例道:“比如你构建了一个应用,可以通过黑莓手机使用,并托管于一家云公司(Salesforce),Salesforce要运行一定量的测试以保证服务可以正常使用。但是,对于应用本身来说,它是运行在1部手机上还是50部手机上呢?你是否需要加载一个非常大的页面呢?”另外,云托管公司可能会使用第三方的服务来提高性能。其对于测试结果就是,终端用户的体验将受到公司、云供应商和所有其它相关团体的影响。
减少测试成本
Lounibos说,加利福尼亚山景城的Soasta公司有一个正在逐渐扩大的客户群,他们没有自己的服务器,所有的操作都在云环境下进行,“尽管如此,他们的大部分操作还是比较传统的;他们与托管服务供应商合作,对云领域只做适度地深入。”然而,他也指出,基于云的测试也是企业了解云并减少测试成本的一个途径。
“传统的客户认为测试是一个扔钱的无底洞。他们一直在寻找可以减少成本的方法。对于公司来说,云计算的主要问题是,它是否足够可靠。而测试不同。云环境下的测试只是模拟真实的情况,它并不涉及与生产相关的问题。但是它确实可以减少成本。”
Lounibos说,通过云计算,测试人员“能够访问并使用大量的计算资源,而这正是测试所需要的。这个主意实在是太诱人了:你可以在5到8分钟内准备好125台服务器,但只需要按测试时间支付费用。你再也不需要为Web应用准备大型测试实验室了。”
比如,可以使用Soasta的CloudTest虚拟云环境测试实验室或设备。它支持负载、性能、功能和Web UI/Ajax测试。 而Keynote公司则为测试和分析互联网云上的Web应用提供了KITE (Keynote Internet Testing Environment)。通过KITE,可以在桌面及地理位置不同的各个位置随时进行测试。 Chaudhary认为,互联网应用的性能测试特别需要在云环境下进行。“对于互联网应用来说,这不只是应用本身的问题,它涉及所有相关的供应商。你无法决定用户是使用DSL还是拨号,或者是移动设备。性能测试本来就是取决于环境的。”
对于移动应用,Chaudhary认为,性能测试和功能测试都应该在云环境下进行。他说:“对于移动应用来说,功能测试同样也取决于供应商。你有一个可以登录的显示屏,即使应用可以正常运行,网页的大小、显示屏的大小,以及所有供应商也都会对其产生影响。”通过在云环境下进行测试,企业就能更容易地对上百种设备进行测试,同时节省更多的成本。
市场研究公司Enterprise Management Associates副总裁Dennis Drogseth认为,对于在云环境中的应用来说,“你要测试与应用有关的网络性能、服务器性能、数据库性能、软件性能,以及它在客户端上的缓存情况。如果你只有在某个位置上运行的一个应用,你当然可以在一个位置上对其进行测试。但是对于Amazon或Facebook来说,应用分布在许多不同且无法预测的位置上。这种情况显然要比运行一个基于单一服务器的应用测试脚本复杂得多。”
我们所面临的问题就是,要在各个不同的组件和地理位置上运行测试以确定问题,而“企业的应用开发通常无法使用这种环境。因此,Keynote(以及其它类似公司)就为这些测试人员提供了一个可用的环境,让他们可以利用互联网云和各种可能出现的情况,使用真实的网络和桌面。”
对新测试工具的需求
北京测试空间软件测评实验室(www.btestsky.com)认为现在需要新型测试工具。“你不能再使用为LAN或独立服务器准备的测试工具来进行云计算。所以,我们需要可以让我们了解网络和桌面等相关问题的工具。我们要让开发人员进入网络环境。” Lounibos也认为,“在将来五年的时间里,所有的测试工具供应商都会进入到云领域。届时将产生新一代的测试公司。云计算是一块有巨大潜力的市场,因为这就是我们使用服务的方式。”