【IT168 评论】吃饭时,时间从碗边流走;喝水时,时间随水流走;睡觉时,时间又从脚边流走。这摸不着,抓不住的时间呵,它无声地来又匆匆地远走。回顾即将逝去的2009,作为危机与机遇并存的一年,软件测试这个中国的新兴领域同样雕刻出非凡的印记。懂得珍惜,人生便是一种永恒。一起来回顾领略下中国软件测试这不平凡的2009
一、3G
无线应用系统的测试,受到更多的关注,是测试的一个新的增长点。
2009年,3G在技术可行性和标准成熟性上已经基本达到了商用的标准,技术上已经不存在大的障碍。但这并不意味着对3G的测试可以告一段落,3G技术仍在不断进步,3G标准也在不断完善,更重要的是3G不只是技术问题,还涉及到3G业务问题。大量新的以数据为中心的应用是否能在3G网络上顺畅运行并达到最终用户的预期,将成为运营商3G业务能否在市场上取得成功的关键。
在2G时代,测试的重点是在物理层和协议层,因为2G主要提供的是语音业务,对物理层和协议层的测试可以保证语音业务的服务质量。而3G则完全不同,大量的新应用正在不断地出现在3G移动设备上,其中几乎所有应用都是以数据为中心的应用。最终用户感受到的数据服务性能将决定设备的优劣。因此,在 3G时代,测试的重点正在转移。虽然评估移动设备的最低性能指标和信令一致性测试始终十分重要,但越来越多的测试将重点放在验证终端支持的应用和其它高级特性上。这些基于软件的应用的性能常常直接影响到最终用户的体验,因此为了实现新业务和应用的成功部署,测试工具必须在部署前帮助制造商和运营商在实验室中确定端到端应用存在的问题。
二、云计算
2009年整个世界热议的话题,愈演愈热的发展趋势,基于云的软件测试将是新的课题,包括测试方法、技术和工具。而且,云环境下的测试也是减少测试成本的一个途径。
云,what?简单的说,云就是互联网。你可以把你的数据,把你的服务,在公开的标准的前提下,把所有的数据存到云端。
云计算,用于开发和部署可以在网络上实时交付并使用的产品、服务和方案的基础设施或软件系统。
有人说云计算是一种新的互联网的现象,的确如此。如果不是一块肥肉,那么怎么会有如此多的云平台提供商以及云服务提供商。云计算和以前的网格计算以及虚拟机有什么区别?现在的云计算是在应用带动下发展起来的。云计算不光有它的架构,有它的数据来源,有它的服务,有它的应用,才导致云计算发展那么快。
一方面,我们一直在寻找可以减少测试成本的方法。云环境确实可以减少成本。通过云计算,测试人员能够访问并使用大量的计算资源,而这正是测试所需要的。你可以在几分钟内准备好大量复杂的测试环境,但只需要按测试时间支付费用。你再也不需要为Web应用准备大型测试实验室了。而另一方面,云计算的诞生,如何从软件质量方面去保证云计算的真正应用和实施,那就需要我们规划和设计完整配套的软件测试方案来保证云计算的质量,庞大的数据量、复杂的架构,对于我们测试方案也提出了较高的要求和挑战。随着云计算的未来发展成熟,从这个角度来讲,同时也会诞生一些单独提供云计算、安全领域方面的第三方测试公司,来提供整体的软件测试解决方案,来真正保证云计算的软件质量。
在将来五年的时间里,也许所有的测试工具供应商都会进入到云领域。届时将产生新一代的测试公司。云计算是一块有巨大潜力的市场。
三、Web 2.0/Ajax
今年互联网上比较火热的话题当然是关于WEB2.0的应用,其中AJAX又是WEB2.0的核心之一。AJAX是Asynchronous JavaScript and XML 的缩写。它并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用,它包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换与处理;使用XMLHttpRequest进行异步数据读取;最后用JavaScript绑定和处理所有数据。
Ajax模糊了Web界面和传统图形界面之间的分界, 对各种测试来说,Ajax存在一项特别的挑战。我们已知的测试套件是把网站当作一连串的页面。如果你想抓取Ajax的所有内容,你将停止在一个页面上。你只能获取一个页面,而不是一系列页面。而JavaScript通过操作下层的对象模型,使得这个页面内容随着时间的变化而变化。
使用网站测试专用工具,你能享受到把一个页面部分地作为一个整体的优待。而Ajax剥夺了这些优待,这要求测试工具能对页面有更深入的理解,而不只是简单的把一个请求发送给服务端,然后将其响应结果取回来。现在,当一个工具模拟Ajax应用时,它必须按照正确地顺序得到全部页面元素,这些在以前可能是无关紧要的。
所有的问题总结来说,就是Ajax是一种更复杂的Web页面显示方式。从测试和质量的立场来说,开发人员和测试人员面临的挑战之一就是应用变得越来越复杂,
四、软件测试自动化
软件测试自动化一直也是大家关注的热点,包括商业测试工具、开源测试工具、自动化测试模型和框架、自动化测试的理论研究等。
一直在全球市场占有主导地位的商业测试工具QuickTest Professional在2009年2月也发布了最新版本10.0,此次的版本升级可以说是一次革命性的变更,不但修改了之前版本存在的许多缺陷,甚至对操作系统、浏览器以及IDE上也都做了相当大的改进,并提高了代码感知的生产力和效率。由于QTP的影响力,一款为QC+QTP量身定做的高价辅助开发工具Test Design Studio也在09年更新了2.0版本。
2009年,开源、灵活是笔者听到最多的自动化测试从业者对工具的需求,Watir和Ruby以其小巧、灵活、开源、功能适用迅速充斥着WEB自动化测试的市场,目前其版本已更新至1.6.5 .thoughtworks公司出品的一个强大的开源WEB自动化测试工具,支持ECLIPSE或者VISUAL STUDIO的脚本开发且可支持多种脚本语言,在测试界也有一定的市场占有率,2009年6月发布了其1.0版本。
虽然QTP目前在全球还是占有主导的地位,但由于其高昂的价格使得国内很多公司仍然只能投靠开源测试工具,并且开源有着其天生灵活易扩展的优势,淘宝网的自动化测试专家宝驹预测,Watir将成为WEB自动化测试市场的最流行的主流工具产品。
五、虚拟技术
虚拟系统产品的日益普及,越来越多的测试团队会将虚拟技术应用于测试环境创建、维护和优化,甚至是测试的执行。
虚拟化技术的一个主要优势在于,它能够灵活创建环境,节省时间,让我们的测试人员可以花更多时间用在有挑战性的工作上,而不是用在准备测试环境那些单调而极其耗费时间的方面上。"
虚拟化技术非常有助于迭代测试。我们使用虚拟化技术来创建虚拟机,然后虚拟机连接到外部集群板,而不是购置许多PC,降低成本.