如何做浏览器兼容性测试?教你几招
如今,市面上的瀏覽器種類越來(lái)越多(尤其是在平板和移動(dòng)設(shè)備上),這意味著你所測(cè)試的站點(diǎn)需要在這些你聲稱支持瀏覽器上都能很好的工作。
同時(shí),主流瀏覽器(IE,Firefox,Chrome,Opera,Safari)版本更新更加頻繁,終端用戶甚至不會(huì)感知這些瀏覽器版本的升級(jí)。
這兩點(diǎn)導(dǎo)致了對(duì)于日益增多的瀏覽器做兼容性測(cè)試顯示十分必要,但也使得這種兼容性測(cè)試變得十分耗時(shí)。
通過(guò)全覆蓋的測(cè)試,你可以明確的知道你的站點(diǎn)支持哪些瀏覽器,哪些有兼容性問(wèn)題。一個(gè)簡(jiǎn)單的減少瀏覽器兼容性測(cè)試的辦法,是停止對(duì)老版本瀏覽器的支持。這個(gè)策略對(duì)一些公司是適用的,但并不適用所用的公司。
停止對(duì)老版本瀏覽器的支持,并不意味這你的產(chǎn)品在這些老版本上沒有bug, 這僅僅是你可以忽略那些老版本上的潛在問(wèn)題,把精力放在那些當(dāng)前支持的瀏覽器版本上。
分散風(fēng)險(xiǎn)
一個(gè)途徑是在多瀏覽器環(huán)境中執(zhí)行日常的測(cè)試工作。
舉個(gè)例子來(lái)講,你要測(cè)試這樣一個(gè)web應(yīng)用:用戶登入,生成報(bào)表,發(fā)送報(bào)表,退出系統(tǒng)。這個(gè)應(yīng)用還包含一個(gè)管理功能,管理員或經(jīng)理登入后可查看哪些人做了哪些改動(dòng)。
為了覆蓋更多的瀏覽器,你可以用一種瀏覽器來(lái)測(cè)試登入功能,在另一個(gè)瀏覽器中測(cè)試“發(fā)送報(bào)表”的功能,用第三種瀏覽器測(cè)試“審計(jì)變動(dòng)”的功能。
這是一個(gè)有效的方法,在日常的功能測(cè)試的過(guò)程中,同時(shí)覆蓋多瀏覽器兼容性測(cè)試。上面這個(gè)例子還是存在一些問(wèn)題的,比如講,如果“審計(jì)變動(dòng)”這個(gè)功能在第一種,或第二種瀏覽器里是有問(wèn)題,那么會(huì)發(fā)現(xiàn)不了。這種方法節(jié)省下來(lái)的時(shí)間,可以讓你在做兼容性測(cè)試策略時(shí),更有側(cè)重。
讓其他人來(lái)幫你做測(cè)試
對(duì)于一些明顯的頁(yè)面兼容性問(wèn)題,有一些在線工具可以幫著你檢查,例如Browser Shots,它可以將你的頁(yè)面載入到它所支持的瀏覽器中(它支持瀏覽器種類和版本很豐富),然后截屏,你可以查看在這些瀏覽器下的載入情況了.
這是一個(gè)很棒的工具,但那些需要登入驗(yàn)證的應(yīng)用,或則你的應(yīng)用中包含的頁(yè)面太多 ,這個(gè)工具顯得有點(diǎn)力不從心了.
和標(biāo)準(zhǔn)進(jìn)行比對(duì)
你可以對(duì)你的站點(diǎn)進(jìn)行HTML語(yǔ)法標(biāo)準(zhǔn)檢查,如果通過(guò)了,在多瀏覽器兼容性上,你可以更有自信一點(diǎn)了,但即使通過(guò)了,還是總有一些瀏覽器(比如萬(wàn)惡的360)渲染你的頁(yè)面是會(huì)有兼容性問(wèn)題。
自動(dòng)化
Web UI的測(cè)試可以通過(guò)webdriver這個(gè)工具來(lái)實(shí)現(xiàn)自動(dòng)化,可以使用selenium Grid來(lái)將自動(dòng)化腳本在多瀏覽器上運(yùn)行。如果不會(huì)寫代碼的話可以使用TestWriter,完全零編碼進(jìn)行測(cè)試。
前提是你得有Web UI自動(dòng)化的投入。Web UI自動(dòng)化可以發(fā)現(xiàn)一些功能上的問(wèn)題,但對(duì)于多瀏覽器頁(yè)面布局方面的差異,通過(guò)它是很難發(fā)現(xiàn)的。
Fight Layout Bugs
你可以寫一些自動(dòng)化腳本來(lái)檢查頁(yè)面在不同瀏覽器下渲染效果。Fighting Layout bugs是一個(gè)開源的工具,可以用來(lái)檢查頁(yè)面布局方面的bug
手工測(cè)試
你可以手工測(cè)試所有的瀏覽器版本,為了避免混淆,你可以將不同的瀏覽器安裝在不同的虛擬機(jī)上(uedde的確這這樣做的),當(dāng)有其他人需要用是,可以直接克隆這些虛擬機(jī),或則直接訪問(wèn)這些虛擬機(jī)。但這太耗時(shí),費(fèi)力了,但還是有必要做一次這樣的多瀏覽器手工測(cè)試的。
分類
你可以依據(jù)內(nèi)核來(lái)劃分瀏覽器。
chrome & safari使用的是webkit內(nèi)核,Firefox則是Gecko, IE系列的是Trident內(nèi)核,Opera使用Presto內(nèi)核。新的Opera好像也開始使用webkit內(nèi)核了。
這樣你可以認(rèn)為,如果在chrome上沒有問(wèn)題,那么“理應(yīng)”在safari也應(yīng)該沒問(wèn)題。
模擬
市面上有一些工具可以模擬不同的瀏覽器,有一些瀏覽器也附帶了工具來(lái)兼容老版本。但使用這些工具是要謹(jǐn)慎,這樣的模擬并不一定準(zhǔn)確。慎重。
outsource selenium
如果你沒有條件搭建selenium grid測(cè)試環(huán)境,你可以嘗試著使用Sauce Labs 和 testingbot 這樣的服務(wù)。
多瀏覽器的支持我們心中永遠(yuǎn)的痛,特別是如今瀏覽器更新如此頻繁的狀況下。哎~ 你可以選擇上面的適合你的方法。
PS:有些瀏覽器有兼容模式,可以通過(guò)兼容模式來(lái)模擬老版本。有些瀏覽器,如chrome,提供了開發(fā)者工具可以幫著定位問(wèn)題。
總結(jié)
以上是生活随笔為你收集整理的如何做浏览器兼容性测试?教你几招的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 智慧矿山无人驾驶模块
- 下一篇: ArcMap进行数据转换