浏覽器在Web系統中的一個非常重要的組成部分,它關系到軟件產品最終的展現形式,直接與用戶打 交道。同一個Web頁面在不同的浏覽器上可能有不同的效果,而用戶也有各不相同的使用浏覽器的習慣,既有使用主流浏覽器的也有使用非主流的(比如作者,用 的是Opera,碰到過很多網頁都有兼容性的問題……)所以,為了保證我們的軟件產品能夠面向大多數的用戶,浏覽器的兼容性測試在Web測試中占據了十分重要的作用。
現在市面上的浏覽器種類可謂玲琅滿目,有大家所熟知的IE、Firefox、Chrome、傲游、360安全浏覽器、搜狗浏覽器等等,也有一些鮮為人知的浏覽器,這麼多的種類如果每一種都需要進行兼容性測試那豈不是要吐血身亡了?
其實,看似有那麼多的浏覽器,但都可以根據浏覽器的內核進行劃分。所謂的浏覽器的內核,其實就是渲染引擎。我們評價一個浏覽器的好環,也主要是 在對浏覽器的渲染引擎做評價。我們可以看到,雖然每家浏覽器廠商生產的浏覽器功能都大同小異,都可以浏覽網頁,但是處理速度不一樣,並且對標准的支持也不 盡相同,其根本原因就是因為渲染引擎技術的不同。
根據當前市面上比較流行的幾種浏覽器內核來劃分的話基本可以分成四大陣營:
1、Trident
Trident又稱為MSHTML,也就是IE的內核,是目前互聯網上最流行的、用戶數最廣的渲染引擎,但是這幾年IE的市場份額正在逐漸被Firefox和Chrome所蠶食。Trident內核的特點是兼容性強,像各大銀行的網上銀行的操作一般都優先支持IE,其他浏覽器基本就靠邊站了。
典型代表:IE、360安全浏覽器、傲游、搜狗浏覽器、世界之窗、騰訊TT、NetScape、......
2、Gecko
Gecko是套開放源代碼的、以C++編寫的渲染引擎。Gecko是跨平台的,能在Microsoft Windows、Linux和Mac OS X等主要操作系統上運行。它是最流行的排版引擎之一,其流行程度僅次於Trident。
典型代表:Firefox(火狐)、Mozilla、網景(6~9)、Minimo、......
3、Webkit
KHTML,是HTML網頁排版引擎之一,由KDE所開發。KHTML擁有速度快捷的優點,但對錯誤語法的容忍度則比Mozilla產品所使用 的Gecko引擎小。蘋果電腦於2002年采納了KHTML,作為開發Safari浏覽器之用。WebCore及WebKit引擎均是KHTML的衍生產 品;WebKit是Mac OS X v10.3及以上版本所包含的軟件框架,WebKit是Mac OS X的Safari網頁浏覽器的基礎。
典型代表:Safari、Google Chrome、Konqueror、......
P.S. 現在國內比較流行的雙核浏覽器,一般都是采用了Trident/Webkit的內核,像搜狗浏覽器、360安全浏覽器等,一個用於滿足支持大多數網頁的需求(比如支付網銀),一個用於極速浏覽。
4、Presto
Presto是一個由Opera Software開發的浏覽器排版引擎,它取代了舊版Opera中所使用的Elektra排版引擎(Opera 7.0以下版本,從7.0版本開始使用Presto),包括加入動態功能,例如網頁或其部分可隨著DOM及Script語法的事件而重新排版。
典型代表:Opera、任天堂DS浏覽器
根據浏覽器內核劃分完種類之後,然後根據需求從每個陣營裡挑出一到兩個最典型的代表出來,再跟操作系統和分辨率這兩個因素排列組合在一起,篩選 出最後的Web兼容性測試環境矩陣。這樣的話就不需要每個浏覽器都去測一遍,不僅減少了工作量,又能有效地保證不同浏覽器的覆蓋度。
最後,我們來看一下一張2012年1月全球主流浏覽器市場份額排行圖: