Web 2.0 浏览器端可靠性测试,第 1 部分: 带你走进 Web 2.0 浏览器端可靠性测试(下)

发表于:2011-6-24 11:18

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

 作者:胡晶晶 张晓辉 欧胜高    来源:51Testing软件测试网采编

  分析工具

  有了以上工具,我们就可以执行我们的测试,并且发现一些浏览器端的可靠性缺陷。一旦发现了问题,我们需要使用工具来做必要的分析。

  介绍几款常用的分析工具:

  1、Firebug:是 Mozilla Firefox 浏览器的开源扩展,提供了很多功能,可以监视、编辑和调试任何 Web 站点的级联样式表(CSS)、HTML、文档对象模型(DOM)和 JavaScript。Firebug 包括一个 JavaScript 控制台、一个日志记录 API 以及一种有用的网络监视器。借助 Firebug,可以很轻松地调试和优化 Web 和 Ajax 应用程序。

  2、sIEve:是一个专门针对 Internet Explorer 浏览器的内存泄露监测工具,是一款开源软件。它可以帮助我们列出当前页面内所有 DOM 节点的基本信息,以及页面内所有 DOM 节点的高级信息,可以查找出页面中的孤立节点,查找出页面中的循环引用等等。

  3、JavaScript memory leak detector:是 IE 浏览器的插件,由微软的内部员工开发,功能看起来比 sIEve 要强大。 它可以报告可疑的内存泄露,包括泄露的 DOM 对象,引起泄漏的引用代码和代码出处。但是这个工具只是对于简单的 JavaScript 代码比较好用,对于一些复杂的代码,如使用了 dojo 工具包的 JavaScript 代码,即使发生了内存泄露,也很难定位到引起泄漏的代码,所以很难派上用场。

  测试过程中的常见问题

  在不同浏览器下进行测试

  大多数 web 应用,都会支持一些主流的浏览器,比如 IE,Firefox, Safari 等等。对 web 应用所支持的浏览器,原则上都要进行浏览器端的可靠性测试。

  以下几个方面需要我们在测试中特别注意:

  1、浏览器设置对测试的影响

  浏览器的设置对测试结果有着重要的影响。比如我们是否需要在测试前清除 cache,是否需要清除私有数据,浏览器打开链接是使用标签页还是新窗口,浏览器最小化的时候是否需要释放内存,等等,都根据我们的测试要求进行指定。

  2、脚本对测试的影响

  同一份脚本在不同的浏览器下运行多少会遇到些问题,需要做相应的修改。健壮的能跨浏览器运行的测试脚本是我们的目标。通过一些技巧,可以使测试脚本兼顾到不同的浏览器。比如:查找对象进可能使用一些稳定的属性和值,如 id。对浏览器相关的问题用分支语句进行分别处理,如不同浏览器弹出的证书认证窗口等。

  3、监测和分析工具

  在不同的操作系统上进行测试的时候,我们可以选择不同的监测工具,在对浏览器进程进行分析时,工具也随着浏览器和操作系统的不同而有所选择。

  浏览器端内存泄漏

  内存泄漏是浏览器的可靠性测试中最常见的问题,也是我们测试的重点。根据以往的测试经验,大多数的内存泄漏问题出现在 IE 浏览器上。IE 上内存泄漏的主要原因是由于 IE 浏览器的本地对象和 JavaScript 对象使用的垃圾回收机制不同的引起的(IE 本地对象使用 Reference Counting 垃圾回收机制,而 JavaScript 对象则使用的 Mark-and-Sweep 垃圾回收机制,两种对象之间的循环引用就会导致垃圾回收机制失效。我们后面会有文章专门来讲如何发现和分析浏览器端的内存泄漏问题。)

  为了便于发现内存泄漏,我们通常会在测试脚本中输出详细的日志信息来记录每一个页面操作,同时使用监测工具监测浏览器进程的内存使用状况。通过两组日志信息的对比和分析,我们可以很清晰地看出内存的增长趋势,也就可以轻松地找出是哪种操作导致的内存泄漏。

  使用工具来分析内存泄漏问题也是测试过程中的一个重要环节。一般常用的工具有 sIEve,js Memory leak detector,Firebug 等等。

  浏览器 Crash

  通常,长时间的页面操作会导致浏览器的内存增加,响应变慢,但是不会造成浏览器 crash。但是,偶尔也会发生浏览器 crash 的情况。比如,严重的内存泄漏导致浏览器内存使用迅速增长,浏览器进程长时间没有响应,造成浏览器进程异常终止。某些特定的操作也可能导致浏览器 crash,这多半是由于产品自身的原因引起的。

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号