成功进行微软Silverlight应用程序负载测试的三项建议

发表于:2013-5-27 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:蔡坚安 译    来源:51Testing软件测试网采编

  微软Silverlight是一项功能强大的技术,用于在web上创建和发布富因特网应用程序以及多媒体信息。Silverlight的功能类似于Adobe Flash,它将多媒体图像、动画以及交互整合到单一的运行环境中。Silverlight最初致力于提供富媒体体验,让设计师和开发人员能够为他们的站点添加丰富的交互行为、媒体和动画。其后的Silverlight版本增加了许多对业务系统非常重要的新特性。

  对于在企业级环境中使用web形式业务系统的组织来说,世界已经发生了巨大变化。基于多层全局分布式架构、SOA以及其它新技术的现代应用程序变得越来越复杂,这导致企业开发、测试和管理web形式业务应用程序的方式也发生了很大变化。像Silverlight之类的富因特网应用程序(RIA)技术能使我们创建的浏览器应用程序和服务具备更加快速而迷人的交互体验。使用这些技术开发扩展应用程序非常吸引人,而这些RIA技术同时给需要在有限时间和低成本情况下部署应用程序功能特性的企业组织带来新的挑战。

  为了做好准备,企业组织必须调整他们的测试方法。考虑到把新技术部署到因特网或内部网应用程序中的运行方式,在选用Silverlight应用程序测试方法时应该小心谨慎。在关键的应用程序平台上开发下一代应用程序时,你必须确信应用系统表现良好。负载测试是正式启用web应用程序前最后的关键任务之一,通常是在紧缩的时间限制和其他压力之下完成。在讨论能使你成功进行Silverlight应用程序负载测试的建议之前,先让我们来看一下Silverlight应用程序有多么独特。

  Silverlight应用程序和你之前接触过的应用程序可能有些不同。对于经典HTML Web应用程序,服务器会负责所有的处理,进一步说,即HTML渲染要求整个页面刷新。Silverlight应用程序的不同之处在于内容的分发不需要重新加载页面,服务器会不断地异步更新应用程序。正因为如此,IIS服务器负载显示出了很不一样的评测数据。

  在进行web应用程序性能测试时,所有测试人员都知道测量事务响应时间的重要性。而Silverlight技术会导致后台产生的浏览器到服务器的HTTP请求次数不断增长。这种传输量的增长会对性能产生深远的影响。虽然用户可能不会意识到浏览器和远程服务器之间的双向通信,但如果因为负载增加而导致应用程序运行缓慢或抛出异常,用户必然会知道性能出现了问题。知道部署的可扩展性制约是很关键的。

  使用革新的RIA技术,比如Silverlight,在试图模拟实际负载时会碰到新的挑战。如果你计划使用这项新技术开发或部署应用程序,要想成功战胜这些挑战需要思考负载测试的新方法。

  让我们来看看进行Silverlight应用程序负载测试的新挑战,以及提高应用程序性能和改善用户体验的三项建议。

  建议1:确保你能够支持Silverlight通信协议

  Silverlight应用程序能够使用多种协议和服务器通信。基于WCF(Windows Communication Foundation),最常用的协议是使用经典XML或二进制XML的REST和SOAP。为了精确模拟用户,你的负载测试工具必须能够支持Silverlight所使用的多种协议,因为这样你才能参数化请求、从响应中提取数据并验证响应。如果缺少这项功能,你的工具就不能根据实际用户提供真实的测试设计,导致测试的结果几乎没有价值。

  REST协议

  REST定义了一组架构原则,通过它你可以根据一些设计规则来设计web服务。这些规则隐式使用了各种HTTP动词,比如GET、POST、PUT和DELETE。这意味着你的测试工具必须处理所有这些动词,以全面支持使用了REST的web服务。否则一些请求就无法重现,导致实际用户不能成功使用。

  SOAP协议

  SOAP是一个基于XML的简单协议,用于让应用程序在HTTP之上交换数据。测试人员可以以两种方式使用该协议来处理应用程序。第一种方式是使用XML操作,第二种方式是使用具有专门SOAP支持的负载测试工具。

  相对于简单XML操作,有专门SOAP支持的测试工具具有以下优势:

  ● 它能够处理WS-Security之类的先进功能特性或附件。

  ● 它能在不需要记录来自现有客户端的流量的情况下设计性能测试用例。若没有辅助程序,从无到有设计一次SOAP请求是非常复杂的。而当你用包含了web服务正规描述的WSDL自动产生请求时,不仅生产力提高了,同时能保证请求的格式是正确的。

  经典XML

  XML是一种基于文本的格式,用于以机器可读的方式对文档进行编码。使用正规字符串操作很容易处理基本XML文档,而对复杂的文档进行数据抽取和验证则会是一项挑战。XPath是用于在XML文档中对元素和属性进行导航的语言,它可用于在文档中精确定位数据。允许使用XPath的工具就确保你能使用任何XML文档,不管文档有多复杂。

  二进制XML

  二进制XML(MC-NBFX)及其子协议,比如二进制SOAP(MC-NBFS),以二进制格式对XML文档进行编码和解码,以减少处理时间,降低网络带宽。

  许多负载测试工具都依靠HTTP传输数据,而不支持二进制协议。

  因此,它们没有足够深入地分析客户端和服务端之间交换了什么数据。请确保你的负载测试工具对二进制XML进行解码,因为这是参数化请求、提取响应数据以及验证响应时所必须的。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号