admin管理员组

文章数量:1532132

2024年1月14日发(作者:)

Rendering Engine(浏览器内核)与浏览器

常见浏览器的内核简介

2012-8-2

BLYK

BLYK

----------BLYK友情编辑

目录

Rendering Engine(浏览器内核)与浏览器 .........................................................错误!未定义书签。

1.浏览器内核介绍 ......................................................................................................................... 3

1.1浏览器内核概念 ................................................................................................................. 3

1.2主流浏览器内核介绍 ......................................................................................................... 3

1.2.1 Trident ...................................................................................................................... 3

1.2.2 Gecko ...................................................................................................................... 4

1.2.3 Presto ...................................................................................................................... 4

1.2.4 Webkit ..................................................................................................................... 4

1.3 排版引擎............................................................................................................................ 5

1.3.1 WebCore ................................................................................................................ 5

1.3.2 KHTML .................................................................................................................... 5

2. 主流浏览器所用内核简介 .......................................................................................................... 5

2.1 Firefox浏览器 ........................................................................................................ 6

2.2 Internet Explorer(IE) ...................................................................................................... 7

2.2.1 6.0版本 ............................................................................................................... 7

2.2.2 7.0版本 ............................................................................................................... 7

2.2.3 8.0版本 ............................................................................................................... 8

2.2.4 9.0版本 ............................................................................................................... 9

2.3Google Chrome .................................................................................................................. 10

2.3.1 Google Chrome市场份额 ................................................................................ 10

2.3.2 Google Chrome版本分支 .................................................................................. 10

2.4 Safari .............................................................................................................................. 11

2.5 360安全浏览器............................................................................................................. 11

2.6基于多内核的浏览器 ....................................................................................................... 11

2.6.1 傲游浏览器3(Maxthon3.0+) ........................................................................ 11

2.6.2 QQ浏览器6.11 .................................................................................................. 11

2.6.3 搜狗高速浏览器(3.0+) .................................................................................. 12

2.6.4 Lunascape(5.0+) ............................................................................................. 12

3. 浏览器构成 .............................................................................................................................. 12

渲染流程 ......................................................................................................................... 13

主流浏览器所使用的内核分类 ..................................................................................... 13

4. 浏览器兼容性测试策略 .......................................................................................................... 13

4.1 浏览器兼容性测试策略 ................................................................................................ 14

4.1.1 快速..................................................................................................................... 14

4.1.2 精确..................................................................................................................... 14

4.1.3 完整..................................................................................................................... 14

----------BLYK友情编辑

1.浏览器内核介绍

1.1浏览器内核概念

浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。 所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

1.2主流浏览器内核介绍

浏览器内核很多,如果加上所有的几乎没有什么人在用的非商业的免费内核,那么可能大约有10款以上甚至更多,不过通常我们比较常见的大约只有以下四种,下面先简单介绍一下。

1.2.1 Trident

Trident: IE浏览器使用的内核,该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的IE9。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如 360浏览器、Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内核名称而只好如此说)。

由于IE本身的“垄断性”(虽然名义上IE并非垄断,但实际上,特别是从Windows 95年代一直到XP初期,就市场占有率来说IE的确借助Windows的东风处于“垄断”的地位)而使得Trident内核的长期一家独大,微软很长时间都并没有更新Trident内核,这导致了两个后果——一是Trident内核曾经几乎与W3C标准脱节(2005年),二是Trident内核的大量 Bug等安全性问题没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己认为IE浏览器不安全的观点,也有很多用户转向了其他浏览器,Firefox和Opera就是这个时候兴起的。非Trident内核浏览器的市场占有率大幅提高也致使许多网页开发人员开始注意网页标准和非IE浏览器的浏览效果问题。

自从发布后,Trident不断地被更新和完善:

Trident II(IE5)——增进对CSS1.0的支持及对CSS2重大的变更;

Trident III(IE5.5)——修正部分CSS的排版控制;

Trident IV(IE6)——修正了一部分box-model的错误以及增加了“兼容模式(Quirks Mode)”切换功能,以增加对文件类型描述(Document Type Definition,DTD)的支持;

Trident V(IE7)——修正许多CSS排版处理上的错误以及增加对PNG格式alpha通道(半透明)的支持。

----------BLYK友情编辑

1.2.2

Gecko

Gecko: Netscape6开始采用的内核,后来的Mozilla FireFox(火狐浏览器) 也采用了该内核,Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,Gecko内核的浏览器也很多,这也是Geckos内核虽然年轻但市场占有率能够迅速提高的重要原因。

事实上,Gecko引擎的由来跟IE不无关系,前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的 Netscape的一些员工一起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Geckos。不过事实上,Gecko 内核的浏览器仍然还是Firefox (火狐) 用户最多,所以有时也会被称为Firefox内核。此外Gecko也是一个跨平台内核,可以在Windows、 BSD、Linux和Mac OS

X中使用。

1.2.3

Presto

Presto: 目前Opera采用的内核,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。

实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被重新解析。此外该内核在执行Javascrīpt的时候有着最快的速度,根据在同等条件下的测试,Presto内核执行同等Javascrīpt所需的时间仅有Trident和Gecko内核的约1/3(Trident内核最慢,不过两者相差没有多大)。那次测试的时候因为Apple机的硬件条件和普通PC机不同所以没有测试WebCore内核。只可惜Presto是商业引擎,使用Presto的除开Opera以外,只剩下NDSBrowser、Wii Internet Channle、Nokia 770网络浏览器等,这很大程度上限制了Presto的发展。

1.2.4

Webkit

Webkit:苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开放源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。

限于Mac OS X的使用不广泛和Safari浏览器曾经只是Mac OS X的专属浏览器,这个内核本身应该说市场范围并不大;但似乎根据最新的浏览器调查表明,该浏览器的市场甚至已经超过了Opera的Presto了——当然这一方面得益于苹果转到x86架构之后的人气暴涨,另外也是因为Safari 3终于推出了Windows版的缘故吧。Mac下还有OmniWeb、Shiira等人气很高的浏览器。

google的chrome、360极速浏览器以及搜狗浏览器高速模式也使用webkit作为内核。

WebKit 内核在手机上的应用也十分广泛,例如 Google 的手机 Gphone、 Apple 的

iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。

----------BLYK友情编辑

1.3 排版引擎

1.3.1 WebCore

WebCore是苹果公司开发的排版引擎,它是在另外一个排版引擎“KHTML”的基础上而来的。苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的衍生产品。使用WebCore的主要有Safari,此外还有OmniWeb、Shiira、Swift等。

1.3.2

KHTML

KHTML,是HTML网页排版引擎之一,由KDE所开发。

KDE系统自KDE2版起,在档案及网页浏览器使用了KHTML引擎。该引擎以C++编程语言所写,并以LGPL授权,支援大多数网页浏览标准。由于微软的Internet Explorer的占有率相当高,不少以FrontPage制作的网页均包含只有IE才能读取的非标准语法,为了使KHTML引擎可呈现的网页达到最多,部分IE专属的语法也一并支援。

KHTML拥有速度快捷的优点,但对错误语法的容忍度则比Mozilla产品所使用的Gecko引擎小。

苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的衍生产品,在开发网站列出引擎改变内容,并会传回至KDE计划。由于两个衍生产品各走不同路线,使两者源代码偏离,在与KDE交换更新会出现困难。其中一个原因,是苹果在对外公开源代码之前,以一年时间编修他们的KHTML。另外,苹果传送更新至KDE计划的方式,多是一口气把大量改动一起传送,KDE在整理资料也出现一定的困难,及后苹果表示会以CVS格式来传送。再者,苹果所作出的改动包括Mac OS X系统独有的事物,如Objective-C、KWQ等,在Linux及KHTML是没有的。但KDE方面仍透过这些改动,为KHTML加入新功能及加快其排版速度。

基于KHTML内核的内核:WebKit、WebCore。

2. 主流浏览器所用内核简介

使用Trident内核的浏览器:IE、Maxthon、TT、The World,360,搜狗浏览器等;

使用Gecko内核的浏览器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;

使用Presto内核的浏览器:Opera7及以上版本、NDSBrowser、Wii Internet Channle;

使用Webkit内核的浏览器:Safari、Chrome。

----------BLYK友情编辑

各主流浏览器内核使用分布

2.1

Firefox浏览器

Mozilla Firefox,非正式中文名称火狐,是一个开源网页浏览器,使用Geckos引擎(即非ie内核),由Mozilla基金会与数百个志愿者所开发。原名“Phoenix”(凤凰),之后改名“Mozilla Firebird”(火鸟),再改为现在的名字。 Firefox是Mozilla基金会开发的一个轻便、快速、简单与高扩充性的浏览器。

2.1.1 Redfox浏览器

Redfox是经过定制后的绿色安装增强FireFox版本,其特点如下:采用正式版代码编译优化,支持部分非标准网站;不写注册表,可以方便的拷贝移动或者删除;加入了大量常用扩展供大家在安装的时候选择;对原有FireFox的错误和不方便设置进行了修正;调整了部分次参数进一步加快FireFox的浏览速度。

2.1.2 Madfox浏览器

Madfox是一个基于Firefox的浏览器。Firefox是一个非常优秀的浏览器,但是由于我们周围有很多不符合互联网标准的网站,从而在很大程度上阻碍了Firefox的推广。对于标准和非标准,无论是技术还是非技术层面,都有着非常激烈的争论。Madfox项目的目的,是希望仅从技术的角度出发,通过扩展Firefox,尝试去兼容不符合标准和规范的网站。

----------BLYK友情编辑

2.2 Internet Explorer(IE)

是美国微软公司(Microsoft)推出的一款网页浏览器。采用Trident内核。最初是从早期一款商业性的专利网页浏览器SpyglassMosaic派生出来的产品。在1996年,微软通过给予季度费用和部分收入从Spyglass中取得了Spyglass Mosaic的授权。

2.2.1 6.0版本

6.0版本于2001年8月27日发布,距Windows XP正式发布日的数星期前发布。这版本包含增强版DHTML、内联网页框架的内容限制和部分支持CSS level 1、DOM level 1和SMIL

2.0。MSXML引擎会更新到3.0版本。其他新的特征包含一个新版本的IEAK、媒体列和Windows

Messenger综合版、错误收集、自动化重整图片大小、P3P和一个新的外观,能配合Windows

XP的"Luna"界面。于2002年,Gopher的功能被禁用,7.0版本更取消了对Gopher的支持。

2.2.2 7.0版本

Windows VistaBeta1上的InternetExplorer 7.0Beta1在2005年2月15日,微软主席比尔·盖茨于旧金山的RSA讨论会中,宣布新版本浏览器将会发布。推出新浏览器的原因是InternetExplorer的市场占有率逐渐被MozillaFirefox侵蚀。此外,微软宣布7.0版本只可以用于Windows XP SP2和之后的操作系统中,包括Windows Server 2003 SP1和Windows Vista。InternetExplorer的第一个预览版本于2005年7月27日推出,主要用于技术测试。而第一个向大众的测试版本于2006年1月31日推出,版本是Beta2 preview。最后的公开测试版本于2006年10月18日推出。7.0版本预期可以保护用户于钓鱼式攻击和其他的恶意软件。用户可以完全控制ActiveX和更佳的保安架构,包括与Windows系统分开,不像以往般紧密融合,从而提高安全性。另外,新版本包括收复了一些程序中的错误,加强对各网际标准的支持,增进支持HTML 4.01/CSS 2,新加入分页浏览,还有一个支持各搜索引擎的搜寻方块,一个Web-feed阅览器,支持国际化域名,和反钓鱼式攻击过滤器。它甚至可以挡掉一些程序类型,例如Flash电影和Java。

2008年2月12日,微软以“安全原因”将通过Windows Server Update Services把所有Windows系统的浏览器强制升级到7.0版本。

----------BLYK友情编辑

2.2.3 8.0版本

北京时间2008年3月6日,微软发布了InternetExplorer 8的第一个公开测试版本(beta1)。本次测试第一次包涵简体中文(3月27日推出)版本。测试版本仍然是在IE7的架构下改进的。界面除了做一些细微的调整,增加少许实用功能外,并无改进。beta1版本推出了模拟IE7的模式、增加了在线邮件浏览功能、提高了兼容性、反钓鱼功能进一步增强,可以进行网页地址筛选。北京时间8月28日

消息,据国外媒体报道,微软周三发布了功能完备的升级版IE8 Beta2。微软称,IE8 Beta2的新特性是加强了隐私保护,并提高了使用舒适性及安全性。微软3月份发布了IE8 Beta1,但目的只是向网络开发者展示这一最新IE版本,Beta2则旨在向更多用户进行展示。微软没有透露将于何时正式推出IE8,也并未对会有多少用户下载Beta2作出预测。

微软在当地时间2009年1月26日,也就是我们的农历新年时正式发布了IE8 RC1。此次的IE 8 RC1,是IE 8的最后一个测试版,微软目前已在其下载中心提供IE 8 RC1的下载。该版本可用于32位Vista、64位Vista和Windows XP,任何用户都可下载、试用,但是此次的改进与发行说明尚未更新。此次发布的IE8 RC1只支持Windows XP和Windows Vista,而不支持Windows 7。

微软网站从美国西部时间3月19日上午9点,北京时间3月20日0点开始提

----------BLYK友情编辑

供IE8免费下载,IE8正式版最终问世。IE8正式版可以安装在Windows Vista系统以及Windows XP系统中,而微软新的操作系统Windows 7,IE8浏览器将被捆绑安装其中。IE 8的新功能之一是一种为“InPrivate”的浏览模式。这种浏览模式能够不留下用户PC的指纹。微软希望利用IE 8新增加的功能夺回在浏览器市场失去的市场份额。IE 8新增加功能包括隐私浏览、改善的安全和名为加速器的新型插件。在安全方面,微软增加了跨站脚本过滤器并且增加了防御“点击劫持”攻击的功能。

2.2.4 9.0版本

IE9利用PC的图形处理单元(GPU)优势去加速文字和图形的渲染能

Windows Internet Explore 9

力、加强标签浏览、可伸缩矢量图形(SVG)以外,IE9更遵守网页浏览标准,特别是对HTML5标准的支持。IE9的性能表现大幅提高,从而在运行速度上缩短IE同火狐、Chrome等竞争产品的差距。微软于2011年3月15日(北京时间)在SXSW互动大会正式发布了Internet

Explorer 9.0 。

IE9界面

IE9.0支持Windows Vista和Windows 7,但并不支持Windows XP。IE9最新的改变包括硬件加速的HTML5和Windows 7无缝的集成、新UI界面、更加出色的安全保护和隐私保护.、

----------BLYK友情编辑

对存在诟病了加载项进行了改进、改进了开发工具以及全新淡雅的LOGO。

2.3Google Chrome

Google Chrome,又称Google浏览器,是一个由Google(谷歌)公司开发的开放原始码网页浏览器。该浏览器是基于其他开放原始码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。使用Webkit内核。软件的名称是来自于称作Chrome的网路浏览器图形使用者界面(GUI)。软件的beta测试版本在2008年9月2日发布,提供43种语言版本,有支持Windows平台、Mac OS

X和Linux版本提供下载。

中文名:

外文名:

开发商:

发行商:

发行时间:

谷歌浏览器

Google Chrome

谷歌

谷歌

2008年9月2日

编程语言:

支持平台:

渲染引擎:

语言版本:

开源免费版:

C++、汇编语言、Javascript

Windows、Linux和Mac

WebKit(基于KHTML)

50种语言

Chromium

2.3.1 Google Chrome市场份额

2012年5月21日消息,据国外媒体报道,据爱尔兰分析公司StatCounter的调查显示,谷歌Chrome浏览器在上周成功超越微软IE,成为全球第一大浏览器,Firefox、Safari、Opera分别位居三、四、五位。数据显示,今年5月Chrome浏览器的全球份额约为33%,超越IE的32%位居榜首。Firefox份额缓慢下跌,全球份额约为25%,苹果的Safari及Opera浏览器份额均不足10%。

2.3.2 Google Chrome版本分支

目前,“Google Chrome”存在五个版本分支:

Stable Channel(稳定版/正式版):适合追求稳定的普通用户使用。

Beta Channel(测试版):适合喜欢较稳定又可尝鲜的朋友下载使用。该版本是新的正式版发布前的公开测试所用,版本上的新功能不会作太多修改,主要为安全上的测试,但可能会存在不稳定情况。

Dev Channel(开发版):适合开发人员使用。主要为功能上的测试,可能存在稳定性问题,通常更新速度为一周一次。

Canary Build(金丝雀版):仅适合开发人员或追求最新版本的用户使用。2010年7月加入,比开发版更新快但更不稳定,相对的也会加入更多测试性的新功能。Canary Build有一个特色是它可以独立安装,不会覆盖原本的“Google Chrome”版本,让系统中可以同时拥有两套安装版“Google Chrome”。

Chrome Lite(移动简化版):被运用于Android操作系统中。

----------BLYK友情编辑

2.4 Safari

Safari是苹果公司所开发的网页浏览器,并内建于MacOSX。Safari使用了KDE的KHTML作为浏览器的运算核心。MacOSX中的图形技术能确保系统中所有软件,从iPhoto到FInalCutPro输出的图片都绚丽无比。Safari是唯一采用高级色彩管理、以最准确的色彩显示网络图片的浏览器。Safari在2003年1月7日首度发行测试版,并成为MacOSXv10.3与之后的默认浏览器,也是iPhone与iPodtouch的指定浏览器。图标外形是一个指南针。Windows版本的首个测试版在2007年6月11日推出,支援WindowsXP与WindowsVista,在2008年3月18日推出正式版。safari浏览器目前是全球三大浏览器之一

Safari使用苹果自家的WebKit来进行网页排版及执行JavaScript,当中WebKit内含WebCore排版引擎及JavaScriptCore引擎,分别从KDE的KHTML及KJS引擎衍生而来。WebCore及JavaScriptCore与KHTML及KJS一样,同是自由软件,并以LGPL方式授权。苹果对KHTML的一些改进会并入Konqueror计划。另外,苹果方面也推出了附加的源始码,以类似BSD执照般的开放源代码方式授权。

2.5 360安全浏览器

360安全浏览器是360安全中心推出的一款基于IE内核的浏览器,是世界之窗开发者凤凰工作室和360安全中心合作的产品[1],其沙盘安全技术来自与Sandboxie的合作。360安全浏览器自称“最安全的浏览器”、“中国大陆除了IE以外使用者最多的浏览器。简单的比喻就是世界之窗+Sandboxie的OEM版。

360极速浏览器是360安全中心推出的一款基于Chromium开源项目的浏览器,也是基于世界之窗浏览器的再次开发产品,自称是全球首个无缝衔接Chrome和IE的浏览器。其界面与Google Chrome浏览器十分相似。但是360为它添加了一些符合国内用户习惯的一些功能。

2.6基于多内核的浏览器

2.6.1 傲游浏览器3(Maxthon3.0+)

傲游浏览器3.0是国内首先尝试使用Webkit与Trident双核心的浏览器。Webkit核心将使你打开网页的速度更快,Trident 核心则会带给你更好的兼容性支持。除此之外,傲游3.0目前还包括智能填表、智能地址栏、弹窗过滤、在线收藏等功能。

2.6.2 QQ浏览器6.11

QQ浏览器6.11是腾讯公司推出的新一代浏览器,使用极速(Webkit)和普通(Trident)双浏览模式,设计了全新的界面交互及程序框架,目的是为用户打造一款快速、稳定、安全、网络化的优质浏览器。

----------BLYK友情编辑

2.6.3 搜狗高速浏览器(3.0+)

搜狗浏览器,搜狐出品,使用高速(webkit)和兼容(Trident)双浏览模式,保证良好兼容性的同时极大提升网页浏览速度。当采用高速模式访问网页出现问题时,可点击地址栏旁边的内核按钮直接切换内核,使用兼容性更佳的兼容模式正常浏览网页。

2.6.4 Lunascape(5.0+)

Lunascape浏览器,是日本Lunascape公司出品的三引擎浏览器。可在浏览器中自由切换三种渲染引擎:Trident(IE)、 Gecko(Firefox)和WebKit,最大地保证了浏览器的兼容性和稳定、快速的特点。此浏览器还获得数个奖项,号称世界首款融合了3种内核、运行速度最快的浏览器。其充分应用了web2.0的时代特征,将浏览器与各种网络服务进行了无缝集成,并携带了多种革命性的功能。如高性能的选项卡式浏览、方便快捷的鼠标手势、RSS订阅、防止意外崩溃功能、IE工具栏支持、直接导入设置从多种浏览器中、自动删除个人信息、多种自定义外观、支持视频共享网站与SNS网站的插件、3种内核自由切换等等。总之,Lunascape可以让您在日常生活中的各种事物均可直接在浏览器内完成。

主流浏览器所使用的内核分类

3. 浏览器构成

浏览器内核Shell渲染引擎JS引擎

----------BLYK友情编辑

渲染流程

DOMContentContent

SinkParserCSS ParserStyleSheetCSS FrameConstructorFrames

w/Resolved

主流浏览器所使用的内核分类

Engine

Gecko

KHTML

Presto

Tasman

Trident

WebKit (Based

KHTML)

on

Creator

Netscape/Mozilla

Foundation

KDE

Opera Software

Microsoft

Microsoft

WebKit Foundation

Software license

MPL/GNU

LGPL tri-license

GNU LGPL

Proprietary

Proprietary

Proprietary

GNU LGPL, BSD-style

GPL/GNU

Leading application

Mozilla Firefox

Konqueror

Opera

Microsoft Entourage

Internet Explorer

Safari, Google

Chrome

主流浏览器所使用的内核分类

4. 浏览器兼容性测试策略

浏览器是web系统中对核心的组成构建,来自不同厂家的浏览器对Javascript、ActiveX或不同的HTML规格有不同的支持,即使是同一厂家的浏览器,也存在不同的版本的问题。不同的浏览器对安全性和JAVA的设置也不一样(这个没有深刻的体会)。

目前最为常用的浏览器为:IE6.0、IE7.0。但由于操作习惯的问题,还有相当一部分用户喜欢使用腾讯的TT,以及firefox浏览器,这些浏览器同样也存在各个版本的问题。这个对于web系统来讲是一个相当大的挑战。

对于一些特殊项目(比如定制项目),可以指定某一类型的浏览器(包括版本),这些都必

----------BLYK友情编辑

须在需求规格说明书中指名。针对这些指明的浏览器必须进行兼容性测试。但大部分的项目,是不能指定浏览器的,针对这样的项目,那么我们必须针对当前的主流浏览器(含版本),在确保主流浏览器的兼容性测试通过的前提下,再对非主流浏览器(含版本)进行测试,尽量保证项目的浏览器的兼容性测试的完整性。

4.1 浏览器兼容性测试策略

现将测试原则分解为三个关键词:快速、精确、完整

首先说明一下浏览器兼容性测试是处于真个项目周期的那个阶段,更精确的说 是处于测试周期的哪个阶段。

一般来说,分为两种情况:

a> 块测试模型(项目特性或项目组历史原因决定,特性:敏捷、快速、可追踪差)

b> 集合测试模型(普遍采用模式,特性:测试更加完整,清晰,可追踪)

无论何种测试模型,只有在系统业务流程全部通过、功能基本稳定的情况下进行,这是基本的进入浏览器兼容性测试的条件 。

4.1.1 快速

针对业务流程和主要核心模块,快速执行浏览器兼容性测试。

详细分析系统业务流程,各角色功能分布,功能模块支撑关联;根据以上分析制定测试框架,框架目的为度量在对各个浏览器测试的时候,避免出现遗漏某些功能点或者业务点,保证更加全面的在需求浏览器上面的兼容性测试。同时,有计划的进行测试工作能够大大的提高工作的效率。

4.1.2 精确

精确定位主流核心浏览器,优化测试方式、提高测试效率

根据需求规约制定出规约中限定浏览器的主要内核,在需求规约中定位相应内核的浏览器各一个(且要求为客户区域内的同内核主流浏览器),根据框架快速执行兼容性测试。

此种方式的优点是能够更加快速的发现不同内核浏览器的问题,降低Bug修复成本、系统风险。

4.1.3 完整

完整执行需求规约限定支持的所有浏览器。根据最新地区浏览器厂商和版本分布,有主次优先级进行兼容性测试 。

限制项包含:不同厂商的浏览器

同一厂商的不同浏览器版本

本文标签: 浏览器内核测试网页版本