开发者社区> 玄学酱> 正文

浏览器性能对比测试技术研究与应用

简介:
+关注继续查看
1、现状分析

  如今,国内浏览器市场竞争激烈,国外优秀的浏览器如Microsoft的Internet Explorer(下简称:IE)、Mozilla的Firefox、Google的Chrome、基于Apple Mac OS的Safari,以及号称世界最快浏览器的挪威Opera等,占大量的国内市场份额。如IE浏览器,由于在国内引进互联网初期就被大众熟悉,且很多银行、游戏类应用均需要其内核的支持,因此仍拥有大批热衷者;Firefox、Chrome和Opera,由于其独特的分页浏览和极具个性的定制设置,也吸引了大量用户;Safari更是由于Apple系列产品的风靡全球被大家熟知和使用。

  国产浏览器如Sogou、遨游Maxthon、世界之窗TheWorld,百度浏 览器、360安全浏览器等,虽然近年来发展迅猛,并且更符合国人的使用特点,逐渐被大众接受,但是市场份额仍然很低,距国内权威的流量统计技术服务提供商 CNZZ最新统计,国产浏览器市场份额仍不足40%。因此,大力发展国产浏览器,着重提高其标准支持和性能的能力,逐渐掌握市场主动权仍然是国产浏览器厂 商需要迫切解决的问题。

  2、测试依据

  本文基于某核高基重大专项课题验收要求中的部分内容,对某互联网公司自行开发的浏览器的性能测试方法进行了研究(为避免引起不必要的纠纷,课题名称及承担单位名称在此均未描述,待测试的浏览器下文简称A浏览器),通过测试考察其实际运行性能,并与主流的浏览器IE、Firefox和Chrome进行了性能对比。

  本次测试是在实验室模拟环境下展开的。为保证测试执行过程的公平、公正,本次测试的外部条件是一致的,这包括环境和输入条件一致。每款浏览器测试完成后,直接更换部署下一套浏览器产品,测试设备、网络环境、操作系统版本和设置均保持一致。

  3、测试内容

   本次浏览器性能对比测试,需要考察浏览器的启动、资源消耗、门户网站访问、大页面加载速度等,主要与测试设备硬件CPU、内存、操作系统以及浏览器自身 的版本和设置有关,与网速、Flash插件等无关。选择的版本分别是:IE8.0、Firefox9.0.1、Chrome17.0.963.6和A浏览 器1.4。

  3.1 资源占用

  资源争用常常是导致应用性能降低的重要因素,浏览器 对资源的控制将严重影响用户的访问速度体验,因此需要考察各浏览器安装完成后,在默认配置下初次冷启动不加载页面运行时,消耗测试设备CPU、内存和磁盘 空间大小的情况。由于内存消耗值的是动态变化的,在实际测试中采用3次启停测试设备,通过测试进行信息提取,再统计3次取值的平均值获得。由于CPU消耗 情况均小于1%,因此仅列出内存和磁盘测试对比结果。

  从测试结果可以看出,国产A浏览器在内存和磁盘消耗测试中,均排名第3,但是内存的消耗和默认加载的控件有关,磁盘的消耗和程序包的大小有关,因此仍有提升的空间。

  3.2 启动测试

  启动测试项主要考察冷启动和热启动模式下打开浏览器访问保存在本地的带有文字、图片和Flash的测试页面的响应时间。

  冷启动指无缓存情况下开机后第一次打开浏览器进行访问,而热启动指测试设备启动后至少运行过一次浏览器访问操作,再次打开浏览器进行访问。

  在测试过程中,为方便统计响应时间,采用了功能测试工具QuickTestPeofesstional来协助完成。通过测试工具录制打开浏览器访问本地测试文件的操作,然后循环执行十次取平均值获得操作执行的响应时间。脚本主要内容如下:

……
Services.StartTransaction "click"   //定义一个事务点开始
Window("A浏览器").WinObject("Aricheditcontrol").Click 85,10  //打开浏览器主窗口
For i=1 to 10  //设置10次循环
Window("A浏览器").WinObject("WebViewWindowClass").Type “localhost:8001/test.html”  //键入本地文件访问地址
wait(5)   // 设置5秒等待时间
Window("A浏览器").WinObject("WebViewWindowClass").Click 1225,252  //打开网页中的连接
Window("A浏览器").WinObject("WebViewWindowClass").Click 1265,248 //打开网页中的图片
Window("A浏览器”).WinObject(“WebViewWindowClass”).
Check CheckPoint("WebViewWindowClass")  //设置检查点
Services.EndTransaction "click"  //定义一个事务结束
Window("A浏览器").Activate
Window("A浏览器").Click 1415,7  //关闭浏览器
Next
测试结果如下:

  从测试结果对比图可以看出,国产A浏览器在冷启动和热启动测试中,均排名第二,表现出了不错的启动速度,IE浏览器由于与操作系统同出一家的关系,排名第一;而Firefox和Chrome由于与较多的控件进行绑定,因此启动速度较慢。

  3.3 标签页载入速度测试

  本项内容主要考察浏览器载入主流的门户网站、搜索引擎网站等用户访问率高的网站时的速度,访问时间的记录主要通过秒表的方式进行统计,为避免结果失真,均采用取3次测试结果平均值的方式获得。测试结果如下:

  总体来看,Firefox和Chrome浏览器访问门户网站时速度占优,A浏览器居后,IE8.0则响应较慢。

  3.4 标准页面加载测试

  本项采用权威的网站http://nontroppo.org/timer/进行测试,主要考核指标如下:

  First Access:第一次加载并显示Dom元素的时间;

  Doc load:文本加载的时间;

  Doc+Image Load:包括Css、JavaScript以及11张图片的加载时间;

  以上加载时间均越小代表浏览器处理越快,测试结果如下:

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

  3.5 硬件加速

  许多浏览器为加快2D、3D的渲染,采用具有多线程能力的GPU的缓存合成技术来处理图像合成、缩放、三维特效处理 等操作,这种在显示芯片内的处理提高了网页的访问速度。本项测试采用著名的“海底世界”测试工具来完成,考察设置显示的鱼的条数为1、10、50、100 和500时,浏览器的硬件加速能力,通过每秒帧数来能量测试结果,帧越大,硬件加速能力越强。以下图表中的结果均是在测试过程中测试工具在平稳阶段显示的 每秒帧数。由于IE8.0不支持硬件加速功能,因此仅对Firefox、Firefox和A浏览器进行测试。

  从测试结果得知,A浏览器在5项测试中均获得头名,但其硬件加速的能力相比Firefox和Chrome优势较小,还需继续改进,提升优势。

  4、测试总结

  相比于世界著名的浏览器产品,国产A浏览器由于刚起步不久,用户群较少,但是其性能表现在本次测试中并未完全处于下风,仍有许多值得称赞的地方。相信随着用户群的增长,会加速A浏览器的发展和优化,最终能和世界知名的浏览器相抗衡。

  另外需说明,本次测试是在实验室环境下进行,不同的平台环境和其它因素会导致测试结果大不相同,因此本次测试的结果数据仅用作参考,不作其它用途。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
全国大学生软件测试大赛Web应用大赛常用测试语句
全国大学生软件测试大赛Web应用大赛常用测试语句
28 0
QGS
记javafx+MyBatis小应用测试
javafx+MyBatis 环境:JDK1.8+IDEA
148 0
Aurora8B10B IP使用 -05- 收发测试应用示例
Aurora8B10B IP使用 -05- 收发测试应用示例
153 0
MSP430-定时器的寄存器介绍以及测试应用
MSP430-定时器的寄存器介绍以及测试应用
53 0
阿里云服务器ECS共享型s6和n4性能对比CPU、内存、网络PPS和应用测试
阿里云服务器ECS共享型n4实例CPU采用2.5 GHz主频的Intel ® Xeon ® E5-2682 v4(Broadwell);ECS共享型s6实例2.5 GHz主频的Intel ® Xeon ® Platinum 8269CY(Cascade Lake),睿频3.2 GHz,计算性能稳定
369 0
UnitTest----UnitTest自动化框架中的测试套及runner的应用
UnitTest----UnitTest自动化框架中的测试套及runner的应用
84 0
测试必会 | 通过容器化 Python Web 应用掌握 Docker 容器核心技能
- 当多个窗口同时 attach 到同一个容器时,所有的窗口都会同步的显示,假如其中的一个窗口发生阻塞时,其它的窗口也会阻塞。 - attach 必须是登陆到一个已经运行的容器里,如果从这个容器中 exit 退出的话,会导致容器停止。 - 容器里进程新建的文件,怎么才能让宿主机获取到? - 宿主机上的文件和目录,怎么才能让容器里的进程访问到? - CONTAINER ID:容器 ID,唯一标识容
79 0
智能遍历测试在回归测试与健壮性测试的应用
首先来看业界用的较早也是经常听过的一款工具—— Monkey。这是 Android 官方提供的一个工具。谷歌原本设计这款工具是为了对 App 进行压力测试的。谷歌早期在设计 Android 的时候,Android 需要响应滑动、输入、音量、电话等事件,早期 activity 设计不完善的时候,谷歌希望测试 activity 的性能,把所有的数据批量化的输出给 activity,看 activ
69 0
干货 | 应用打包还是测试团队老大难问题?
干货 | 应用打包还是测试团队老大难问题?
56 0
智能遍历测试在回归测试与健壮性测试的应用
智能遍历测试在回归测试与健壮性测试的应用
84 0
干货 | 应用打包还是测试团队老大难问题?
Docker是一个开源的应用容器引擎,基于 Go 语言开发,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的系统。 Docker 是世界领先的软件容器平台,Docker 官方的口号是”调试你的应用,而不是调试环境“。在进行多人协作开发时,开发者可以使用 Docker 来消除所谓“我这里运行是好的”(works on my machine)问题
78 0
Serverless 应用引擎 SAE 携手谱尼测试共同抗疫
潮落江平未有风,扁舟共济与君同。 阿里云联合乘云至达与谱尼测试携手, 共同筑建抗疫堡垒,共抗疫情、共克时艰。
566 0
测试必会 | 通过容器化 Python Web 应用掌握 Docker 容器核心技能
- 当多个窗口同时 attach 到同一个容器时,所有的窗口都会同步的显示,假如其中的一个窗口发生阻塞时,其它的窗口也会阻塞。 - attach 必须是登陆到一个已经运行的容器里,如果从这个容器中 exit 退出的话,会导致容器停止。 - 容器里进程新建的文件,怎么才能让宿主机获取到? - 宿主机上的文件和目录,怎么才能让容器里的进程访问到? - CONTAINER ID:容器 ID,唯一标识容
80 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
视频
相关电子书
更多
F2etest — 多浏览器兼容性测试整体解决方案
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载