1.现状分析
目前,浏览器市场60%以上的份额仍然被国外浏览器占据,随着国家相关部委对国产软件发展的大力支持,以及国内浏览器核心技术的日益发展,这种情况将逐渐好转。本文基于某“核高基”重大专项课题中对浏览器的测试要求,介绍了浏览器性能测试的测试指标和评测方法,期望通过测试促进国产浏览器的性能优化,提高其整体质量,获得市场主动权。
2.测试依据
本文基于某核高基重大专项课题验收要求中的部分内容,对某互联网公司自行开发的浏览器的性能测试方法进行了研究(为避免引起不必要的纠纷,课题名称及承担单位名称在此均未描述,待测试的浏览器下文简称A浏览器),通过测试考察其实际运行性能,并与主流的浏览器IE、Firefox和Chrome进行了性能对比。
本次测试是在实验室模拟环境下展开的。为保证测试执行过程的公平、公正,本次测试的外部条件是一致的,这包括环境和输入条件一致。每款浏览器测试完成后,直接更换部署下一套浏览器产品,测试设备、网络环境、操作系统版本和设置均保持一致。
3.测试方法
本次浏览器性能对比测试,需要考察浏览器的网页渲染、JS标准页面解析速度和其他一些标准符合性的测试项,主要与被测浏览器有关,与网速、Flash插件等无关。选择的版本分别是:IE8.0、Firefox9.0.1、Chrome17.0.963.6和A浏览器1.4。
这里的标准化测试更贴近于兼容性,主要测试浏览器对Acid2、Acid3和Html5标准网页的支持程度。
3.1 Acid2和Acid3
Acid2标准,是网页标准计划小组(Web Standards Project,,WSP)设计的针对HTML、Css 2.0及Png图像标准的测试网页,可通过预设的编码对网页排版引擎进行测试,如果通过测试,在浏览器中能看到如下图展示的效果:
在实际测试过程中,所以待测试的浏览器均能完美展现Acid2标准中指定的笑脸图像,因此本测试项所有浏览器均通过。
Acid3标准,同样是WSP设计的针对网页标准兼容性的测试网页,相比Acid2标准,Acid3主要针对浏览器Web 2.0规范,在测试标准上对浏览器的Dom、JavaScript、Css渲染、Svg等有更严格的标准,其测试焦点集中在ECMAScript、Dom Level 3、Media Queries和data: URL。开始测试后页面将加载100个预设的功能项,每成功加载1项即获得1分,通过实时分值显示浏览器的得分,测试截图和测试结果如下:
图3显示的是Acid3标准兼容性测试对比结果,可知除了IE浏览器,其它待测试的浏览器均能支持预设的所有测试项,得分均为100。
3.2 HTML5测试
Html5标准,Web 超文本应用技术工作组(Web Hypertext Application Technology Working Group)设计的网页标准兼容性测试页面。Html5取消了<font>和<center>等纯显示效果的标记,增加了<nav>、<footer>等索引管理以及<audio>和<video>等浏览要素相关的新标签,同时内嵌了一个本地数据库,可测试交互式搜索、缓存以及索引功能。Html5针对浏览器的文字、动画、音频、视频等文件的加载和显示兼容能力,提供了Canvas、Video、Forms等20余类共计450项测试内容,测试截图和测试结果如下:
从测试结果可以看出,被测试的国产A浏览器相比IE8.0优势不小,但和Firefox和Chrome仍有不小差距,当然也有较大的提升空间。
3.3 CSS渲染速度
Css渲染速度是影响页面加载速度的重要因素,更快的Css渲染将提供更高效的前端性能,带给用户更快的访问体验。本项主要采用标准的Css3测试工具,对E[attribute]、:lang()和:nth-of-type()等41类共574项内容进行测试,测试截图和测试结果如下:
测试结果显示,Firefox和Chrome均能完全支持Css3标准测试页面中的内容,A浏览器对于:nth-child()、:nth-last-child()、:nth-of-type()和:nth-last-of-type()项支持不够,在测试中出现错误,还有待进行优化处理,而IE浏览器则只能支持50%左右的测试项。
3.4 JavaScript速度测试
越来越多的网站如Google Map、Gmail、Youku等采用了Ajax技术,使得浏览器的JavaScript解码速度越发重要,因此对其进行测试很必要。本次测试选取的是公认度较高的Sunspider0.9.1和V8 v6版本引擎测试工具。
SunSpider:Mozilla公司开发的JavaScript引擎性能基准测试工具,屏蔽了浏览器类型和语言的差别,仅针对JavaScript进行测试,与Dom和浏览器接口均无关。SunSpider主要协助开发者解决现实世界的问题,拥有对象、函数调用、数学、递归等测试类型,共测试3d、access、bitops、controlflow、crypto、date、math、regexp、string九项内容,执行时间越短,代表浏览器的JavaScript解码速度越快。
V8 JavaScript:Google公司开发的JavaScript引擎性能基准测试工具,分别对Richards、DeltaBlue、Crypto、RayTrace和EarleyBoyer五项内容进行测试,running times/s值越高,表明浏览器的JavaScript解码速度越快,分值也相应越高。
由测试结果可见,在SunSpider和V8基准测试中,IE8.0均排名垫低,A浏览器和两款国外浏览器水平相当。
4.测试总结
由此可见,国产A浏览器在标准符合性上基本能够达到目前主流浏览器的水平,但是仍有一些方面有一些差距,在相对不足之处进行进一步的研究,将会使国产A浏览器在标准符合性上达到主流浏览器的水平。