`
manyinjin
  • 浏览: 92422 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

改进Web2.0性能和测试的十个途径【翻译】

阅读更多
        原文地址:http://searchsoftwarequality.techtarget.com/originalContent/0,289142,sid92_gci1260130,00.html   
        蔓生的社会关系网络,来自草根阶层的内容创建以及广泛的交互和协作等等,所有这些构成精彩的Web2.0世界。从技术层面来说,Web2.0承诺提供从桌面到富Internet的高性能的快速访问能力,从而带来美妙的网络体验。看看Google Maps,你能够快速的拖拽那些你身边的,所在城市的,所在省的或国家的卫星地图,因为Ajax能够预测的你的鼠标移动并从服务器端取来你需要的内容。
        但是许多组织在致力于给客户提供极好的网络体验的同时却或许正在失去对用户网络体验的控制能力。在最近十年的早期,公司的IT部门掌控他们自己网站的体验并能够完全控制架构,表现逻辑,业务逻辑和数据表示。然而,2007年以来,控制权却变成分布式的并基于  浏览器构建。在Web2.0时代,一个应用会有上百万种不同的形式。
        当几年前绝大部分用户都在Windows上使用IE的时候,一切都很简单。一个单一的传输平台导致从应用到产品都不能带来太多的惊奇。由于开发者和用户使用相同的平台,问题会及早出现而不是更多的延迟到用户的使用过程中。然而,总体的网络体验 - 功能的可靠性,界面和性能 - - 是很普通的(但是由于是第一次尝试,所以这个结果并不坏。)。我喜爱评分,所以我用下面的评分报告卡来解释我为什么这么说:
        以前的网络体验:
                *可靠性:B+ (绝大多数人用同一个平台很容易去定位问题所在)
                *界面:C-(不大好)
                *性能:B(期望值较低,应用也很简单)
                *总体评价:普通

        虽然未来的Web2.0体验会十分精彩,但是我们现在正处在一个痛苦的起步阶段。用户在各种各样的操作系统(Windows,Mac,Linux和移动操作系统)中使用各种各样的浏览器(IE,Safari,Firefox,Opera,iPhone,BlackBerry 和其他的)。
        越来越多的业务逻辑在浏览器中运行。这意味着,对于一个组织来说,将有更多的东西是它所不能够掌控的 - - 广告投放,分析 和内容传输网络(CDN)等这些东西。这是一个复合的世界,但是很多公司却不知道如何去测试除了它们自己的内容以外的任何东西。现在网络体验评分报告卡看起来像下面这样:
        今天的网络体验
                *可靠性: F(“你忘记测试我使用的浏览器和操作系统了!”“Web 服务应该给我提供这个功能的!”)
                *界面: A-(必须承认的是,相当不错)
                *性能: C(期望值升高, 但是在很多方面却容易出现问题)
                *总体评价: 差

        那么怎么才能提高可靠性和性能的得分,给用户提供一个持续的、好的网络体验并兑现Web2.0的承诺呢?
        由于我们正在经历一个全新的开发和交付的环境,我们必须更新我们的开发和测试策略。下面是一些建议:
        1.把用户体验质量放到你的产品目标中。
不要像以前那样在运行中做出修改(如果你曾经用Perl写过web应用程序的话,你会理解我说的是什么)。让体验贯穿整个产品开发过程中。请确保你的发布标准中涵盖了可以在开发过程中和之后进行度量的详细的性能和可靠性指标。
        2.理解(并管理)来自你的客户体验的反馈
许多公司理解第三方web服务的概念并使用他们,但是他们仍然只是测试他们自己提供的内容。请关注任何一个影响用户体验的因素,包括第三方的数据和服务。并且请记住:第三方的服务在你的一些客户那运行的很好并不代表全部都是。
        3.了解你的客户,他们的偏好和使用习惯。
他们使用什么浏览器?什么系统?他们是怎么接入互联网的?他们在世界的那个地方?他们的使用习惯是什么样的,(例如,白天,晚上,周末或者访问应用的时候有一个特别的轨迹)?所有的这些因素都会影响用户体验,所以要确保你的应用总是能够在你的客户那运行的很好。并且仅仅因为第三方的CDN在一个地方工作的好并不能就认为它在所有的地方都好。你不能设想你的第三方合作伙伴总是能和你保持一致。
         4.建立一个涵盖用户所有的浏览器和操作系统的组合,并且包括手机(我计划成为最先支持iPhone的人之一)和BlackBerry的浏览器兼容性实验室. 开源的Selenium测试工具是一个用来做自动化的浏览器/操作系统测试的好选择。Selenium Remote Control 让开发人员能够使用自己最喜爱的语言来编写测试用例并远程控制浏览器/操作系统的组合。另外一个可以作为Selenium的替代性选择的是Watir,这两个项目在OpenQA.org上发布。Firebug是Web2.0开发人员和QA手中的又一个利器,它是一个Firefox的插件。
       5.抓屏和录制测试用例实际运行时的影像能够帮你了解问题发生的现象,带来的影响以及分析如何去解决它。只有少数的几个商业化的测试工具具备这个功能,但是它能够在你去分析为什么自动化的测试运行失败的时候给你带来有效的帮助。
        6.在自动测试和产品化期间记录浏览器内的活动日志。UI中有太多的应用逻辑使得我们不能忽略它。Firebug对Firefox和Safari提供内建的支持。考虑将Firebug Lite用于IE和其他的浏览器吧,想想开发中最难跟踪的是从浏览器到持久存储的传输记录,付点钱是物有所值的。
        7.理解性能和用户感觉性能之间的联系。如果一个用户的浏览器是全屏的,但是只有一部分你当前屏幕下方(需要滚动才能看见的)还没有下载完,用户会感觉你的页面已经下载完了。因此,测试人员不仅要关心HTTP响应时间数据,这个很容易得到,还要捕获独立的javascript函数、Ajax请求,对象(例如,图片和CSS)和HTML事件的信息从而精确的度量用户感觉到的性能。这才是真正影响用户的关键。
        8.把浏览器加入到你的CI过程中。
绝大部分CI的实现都测试服务器端代码,但是他们不关心日益增长的浏览器内的活动。虽然合并浏览器到CI中需要更多的时间和资源,但是它你的测试是和真实的用户体验一致,这才是现在的重点。
        9.考虑按需(On-demand)测试。
在真实的多浏览器/操作系统组合上测试并且捕获数十亿字节的性能数据需要比大多数企业投资的更多的测试基础设施。使用on-demand测试(软件即服务SaaS)让你能够接力别人的测试能力,架构和设施投资。这样你可以在你需要的时候租用一个浏览器实验室。
        10.随着Web应用的发展重构测试。
Ajax改变了Web应用的构建方式,并且使得构建的自动化测试用例和代码结合的更紧密。连接的越紧密就学要越多的数据一致性和测试固件。过去的时候,在一个web应用上定义一个自动化测试相当的简单:每一步都是一个用例(Joe Surfer 访问 www.xyz.com 并且点击登录点击等等.)对应一个新的页面。但是在Ajax上,事情变得相当的复杂了,所以我们必须重构测试用例。
        采用这些策略能够确保你的QA测试是合适的,彻底的且足够敏捷的去跟上复杂的Web2.0应用的发展。好的,干净的,可靠的,高性能的代码能够帮助我们把Web2.0的愿景变成现实并提升互联网的价值。

关于作者:Patrick Lightbody 是Gomez Inc.(On-demand 网络应用体验管理服务提供者)的QA Solutions产品经理和首席开源导师,他的email是:plightbody@gomez.com。
关于译者:Gomez QA solutions 团队成员。Email:jyin@gomez.com
分享到:
评论
3 楼 winterwolf 2007-06-13  
风往北吹 写道
这么好的标题,好不犹豫就冲进了。
结果,晕里雾里地找了半天才看到10条,感觉把web2.o替换成web,或者windows form也可以这么说。




see firebug a great tools
2 楼 风往北吹 2007-06-13  
这么好的标题,好不犹豫就冲进了。
结果,晕里雾里地找了半天才看到10条,感觉把web2.o替换成web,或者windows form也可以这么说。
1 楼 winterwolf 2007-06-13  
*可靠性: F(“你忘记测试我使用的浏览器和操作系统了!”“Web 服务应该给我提供这个功能的!”)

*界面: A-(必须承认的是,相当不错)

*性能: C(期望值升高, 但是在很多方面却容易出现问题)

*总体评价: 差

相关推荐

    精通WebAnalytics2.0

    这本书深入探讨了如何利用Web Analytics 2.0的理念和工具来优化网站性能,提升用户体验,并制定更有效的网络营销策略。 Web Analytics 2.0的概念超越了传统的页面浏览量和独立访客等基本统计指标,强调对用户行为的...

    JSF2.0的一个简单Demo

    综上所述,"JSF2.0的一个简单Demo"不仅是一个学习和实践JSF2.0的好资源,也是理解Web应用开发中MVC模式和组件化思想的重要途径。通过阅读和分析Demo中的代码,开发者可以提升自己在Java Web领域的技能,更好地应对...

    ASP.NET-[CMS程序]SXCMS文章管理系统2.0测试版.zip

    10. **测试与反馈**:测试版意味着开发者已经进行了初步的系统测试,但用户反馈仍然是改进产品的重要途径。系统可能包含一个反馈机制,以便收集用户意见并进行后续优化。 通过下载并解压"ASP.NET-[CMS程序]SXCMS...

    The Django Book 2.0中文译本.rar

    Django 2.0是该框架的一个重要版本,带来了许多更新和改进。首先,它全面支持Python 3,意味着你可以利用Python 3的现代特性和性能优势来构建Web应用。其次,它引入了对HTTP/2的支持,这在提高网站性能和安全性方面...

    lr 9.5 下载链接

    LR 9.5,全称为LoadRunner 9.5,是一款由HP(现已被Micro Focus收购)开发的企业级性能测试工具。它在IT行业中扮演着至关重要的角色,特别是在软件性能测试领域。LoadRunner以其强大的功能和广泛的应用场景,帮助...

    componentsArt Web.UI 2007.2 serial number

    ComponentArt Web.UI 2007.2作为该产品线中的一个重要版本,针对ASP.NET 2.0框架进行了优化,并且增加了许多新特性,比如更好的AJAX支持、更多的主题样式选择以及增强的安全性和性能表现。这些改进使得开发者能够...

    angular学习材料

    这是一个重大的版本升级,引入了许多改进和新特性,以提升开发效率和性能。它采用TypeScript作为主要的编程语言,TypeScript是一种强类型的超集,提供了静态类型检查和面向对象的特性,有助于减少运行时错误。 ...

    tomcat6源码 工程

    这个压缩包包含了Tomcat6的源代码,对于开发者来说,它是一个深入了解Tomcat工作原理和优化Web应用性能的宝贵资源。下面我们将逐一解析压缩包中的文件,揭示其背后的知识点。 1. `.classpath`:这是一个Eclipse项目...

    Eclipse3.5官方多语言包

    3. Web工具增强:Web Tools Platform(WTP)增加了对最新Web标准的支持,包括改进的AJAX工具和对JavaServer Faces 2.0的全面支持。 4. RCP和RAP更新:Rich Client Platform(RCP)和Rich Ajax Platform(RAP)的...

    Spring5新特性简述及经典的高频面试题分析.rar

    Spring5是Java开发中不可或缺的重要框架,其在2017年发布,带来了许多改进和新特性,极大地提升了开发效率和应用性能。本资源“2019-04-21_Spring5新特性简述及经典的高频面试题分析”涵盖了Spring5的关键更新以及...

    mirrors-Spring-Framework-5.0.x.zip

    Spring Framework 5.0.x版本是Spring的重要里程碑,它引入了许多新特性和改进,旨在提升性能、增强可扩展性,并支持最新的Java和Web技术。以下是对其中关键知识点的深入探讨: 1. **模块化设计**:Spring 5.0.x采用...

    这是一个毕业设计用的云笔记网站.zip

    单元测试、集成测试和性能测试确保代码质量。 9. **部署与运维**:最后,网站需要部署到服务器并进行持续运维。可以选择传统的虚拟主机,或者利用AWS、Google Cloud、Azure等云服务提供商,实现快速扩容和自动化...

    michalantczak2.0

    综合以上信息,我们可以推测"michalantczak2.0"是一个使用EJS作为模板引擎的Node.js项目,可能是一个Web应用框架、CMS(内容管理系统)或者是个人项目。要深入了解项目的内容和用途,我们需要解压文件并检查其结构,...

    app-store-connect-openapi-specification-1.zip

    3. **销售和分析**:API提供了访问销售和下载报告的途径,帮助开发者了解其应用的收入、下载量和用户行为。这包括实时报告和历史数据,以便进行市场策略分析。 4. **财务管理**:开发者可以获取有关收入结算、税务...

    ASP.NETcore.pdf

    *** Core是微软推出的一个开源、跨平台的.NET框架,用于构建现代的web应用程序、API以及微服务等。它是.NET Core的一个重要组成部分,继承了...文档为所有对C#感兴趣的程序员提供了一个全面了解和掌握*** Core的途径。

    midp-2_0-src-windows-i686

    这提示开发者在获取和使用这个资源时可能需要寻找替代的下载途径或者在特定时间尝试。 标签“midp-2_0-src-windows-i686”与标题一致,用于标识该压缩包的内容,方便搜索和归类。 在压缩包子文件的文件名称列表中...

    懂球短视频微信微信小程序SpringBoot后端源码案例设计带文档说明.zip

    该压缩包文件“懂球短视频微信小程序SpringBoot后端源码案例设计带文档说明.zip”包含了一个完整的项目案例,主要用于教学或毕业设计目的,旨在...同时,动手实践并尝试改进或扩展现有功能,将是加深理解的最佳途径。

    框架无后门,淘宝购买

    3. **版本2.5.3**:版本号表示软件的迭代状态,2.5.3意味着至少有两个主要版本(2.0和2.5)和至少两个次要更新。通常,更高的版本号代表更多的功能改进和错误修复。 4. **安全性与后门**:"无后门"的声明表明框架的...

    PyPI 官网下载 | stpclient-0.3.4.tar.gz

    在Python开发中,通常库的版本号会随着功能的增加、错误的修复或性能的优化而更新,`0.3.4`表示这是一个相对早期但已经过多次改进的版本。 在Python中,`.tar.gz`是一种常见的源代码打包格式,它结合了`tar`(打包...

Global site tag (gtag.js) - Google Analytics