如今碎乃,市面上的瀏覽器種類越來越多(尤其是在平板和移動設備上),這就意味著你所測試的站點需要在這些你聲稱支持瀏覽器上都能很好的工作惠奸。
同時梅誓,主流瀏覽器(IE,Firefox,Chrome,Opera,Safari)版本更新更加頻繁,終端用戶甚至不會感知這些瀏覽器版本的升級佛南。
這兩點就導致了對于日益增多的瀏覽器做兼容性測試顯示十分必要梗掰,但也使得這種兼容性測試變得十分耗時。
通過全覆蓋的測試嗅回,你就可以明確的知道你的站點支持哪些瀏覽器及穗,哪些有兼容性問題。一個最簡單的減少瀏覽器兼容性測試的辦法绵载,就是停止對老版本瀏覽器的支持埂陆。這個策略對一些公司是適用的,但并不適用所用的公司娃豹。
停止對老版本瀏覽器的支持焚虱,并不意味這你的產品在這些老版本上就沒有bug,這僅僅是你可以忽略那些老版本上的潛在問題,把精力放在那些當前支持的瀏覽器版本上懂版。
瀏覽器兼容性測試應該如何來做鹃栽?
分散風險
一個途徑就是在多瀏覽器環(huán)境中執(zhí)行日常的測試工作。
舉個例子來講躯畴,你要測試這樣一個web應用:用戶登入民鼓,生成報表,發(fā)送報表蓬抄,退出系統(tǒng)丰嘉。這個應用還包含一個管理功能,管理員或經理登入后可查看哪些人做了哪些改動嚷缭。
為了覆蓋更多的瀏覽器饮亏,你可以用一種瀏覽器來測試登入功能,在另一個瀏覽器中測試“發(fā)送報表”的功能,用第三種瀏覽器測試“審計變動”的功能克滴。
這是一個有效的方法,在日常的功能測試的過程中优床,同時覆蓋多瀏覽器兼容性測試劝赔。上面這個例子還是存在一些問題的,比如講胆敞,如果“審計變動”這個功能在第一種着帽,或第二種瀏覽器里是有問題,那么就會發(fā)現不了移层。這種方法節(jié)省下來的時間仍翰,可以讓你在做兼容性測試策略時,更有側重观话。
讓其他人來幫你做測試
對于一些明顯的頁面兼容性問題予借,有一些在線工具可以幫著你檢查,例如Browser Shots,它可以將你的頁面載入到它所支持的瀏覽器中(它支持瀏覽器種類和版本很豐富),然后截屏,你可以查看在這些瀏覽器下的載入情況了.
這是一個很棒的工具,但那些需要登入驗證的應用,或則你的應用中包含的頁面太多,這個工具就顯得有點力不從心了.
和標準進行比對
你可以對你的站點進行HTML語法標準檢查频蛔,如果通過了灵迫,在多瀏覽器兼容性上,你可以更有自信一點了晦溪,但即使通過了瀑粥,還是總有一些瀏覽器(比如萬惡的360)渲染你的頁面是會有兼容性問題。
自動化
Web UI的測試可以通過webdriver這個工具來實現自動化三圆,可以使用selenium Grid來將自動化腳本在多瀏覽器上運行狞换。如果不會寫代碼的話可以使用TestWriter,完全零編碼進行測試舟肉。
前提是你得有Web UI自動化的投入修噪。Web UI自動化可以發(fā)現一些功能上的問題,但對于多瀏覽器頁面布局方面的差異路媚,通過它是很難發(fā)現的割按。
Fight Layout Bugs
你可以寫一些自動化腳本來檢查頁面在不同瀏覽器下渲染效果。Fighting Layout bugs是一個開源的工具磷籍,可以用來檢查頁面布局方面的bug
手工測試
你可以手工測試所有的瀏覽器版本适荣,為了避免混淆,你可以將不同的瀏覽器安裝在不同的虛擬機上(uedde的確這這樣做的)院领,當有其他人需要用是弛矛,可以直接克隆這些虛擬機,或則直接訪問這些虛擬機比然。但這太耗時丈氓,費力了,但還是有必要做一次這樣的多瀏覽器手工測試的。
分類
你可以依據內核來劃分瀏覽器万俗。
chrome & safari使用的是webkit內核湾笛,Firefox則是Gecko, IE系列的是Trident內核,Opera使用Presto內核闰歪。最新的Opera好像也開始使用webkit內核了嚎研。
這樣你就可以認為,如果在chrome上沒有問題库倘,那么“理應”在safari也應該沒問題临扮。
模擬
市面上有一些工具可以模擬不同的瀏覽器,有一些瀏覽器也附帶了工具來兼容老版本教翩。但使用這些工具是要謹慎杆勇,這樣的模擬并不一定準確。慎重饱亿。
outsource selenium
如果你沒有條件搭建selenium grid測試環(huán)境蚜退,你可以嘗試著使用Sauce Labs和testingbot這樣的服務。
多瀏覽器的支持我們心中永遠的痛彪笼,特別是如今瀏覽器更新如此頻繁的狀況下关霸。哎~你可以選擇上面的適合你的方法。
PS:有些瀏覽器有兼容模式杰扫,可以通過兼容模式來模擬老版本队寇。有些瀏覽器,如chrome,提供了開發(fā)者工具可以幫著定位問題章姓。