對于網頁的兼容性我們主要考慮的是各種瀏覽器對前臺頁面的兼容性,因為瀏覽器對頁面的影響是最大的。
現在瀏覽器的種類越來越多,網頁中展現出來的內容也越來越豐富,這些內容包括網頁中的字體、圖片、動畫等,而且有些內容需要網頁安裝一些插件才能打開。
很多時候同一個網頁在不同瀏覽器下,可能會出現兼容性問題,有些瀏覽器顯示正常,有些瀏覽器不能正常顯示,例如出現亂碼、排版異常、無法顯示圖片和動畫、頁面的功能不能正常使用等異常情況,所以一般情況下,都應針對當前主流的瀏覽器進行兼容性測試。
同時主流瀏覽器(IE,,,Opera,)版本更新更加頻繁,終端用戶甚至不會感知這些瀏覽器版本的升級。
具體要測試哪些瀏覽器,主要根據產品經理制定的需求文檔而定。
但如果頁面上所有的功能都需要在每個瀏覽器重新測試一遍的話,工作量也是很大的。一般情況下,可以這樣分配,例如測試組有6個人是做功能模塊測試的,那么這6個人就會分別選用其中一款瀏覽器進行測試。這樣就可以將瀏覽器分散開來,而不需要一個人來完成,后面還可以進行交換進行,盡量覆蓋全面。
其次主要考慮的是分辨率的兼容性,這指的是頁面在、\1024*768或者是更高的分辨率模式下是否能正常顯示,例如字體是否太小,文本、圖片等頁面元素是否正常顯示。
對于具體要使用什么樣的分辨率進行測試,通常情況下,需求文檔中會對分辨率給出建議和要求。
兼容性測試的作用
兼容性測試是軟件測試過程必不可少的一個過程,沒有兼容測試的測試是不完整的測試,兼容性測試的存在是有一定作用的。我個人覺得最少有以下幾點:
·兼容性測試能夠進一步提高產品的質量,提高用戶體驗;
· 兼容性測試能使軟件與盡可能多的其他軟件“和平共處”,盡可能達到平臺無關性;
· 兼容性測試能盡可能的保證軟件存在的價值,它是衡量一個軟件質量的重要指標;
· 兼容性測試能使軟件產品的市場更廣闊;
瀏覽器兼容性測試應該如何來做?
分散風險
一個途徑就是在多瀏覽器環境中執行日常的測試工作。
舉個例子來講,你要測試這樣一個web應用:用戶登入,生成報表,發送報表,退出系統。這個應用還包含一個管理功能,管理員或經理登入后可查看哪些人做了哪些改動。
為了覆蓋更多的瀏覽器,你可以用一種瀏覽器來測試登入功能,在另一個瀏覽器中測試“發送報表”的功能,用第三種瀏覽器測試“審計變動”的功能。
這是一個有效的方法,在日常的功能測試的過程中,同時覆蓋多瀏覽器兼容性測試。上面這個例子還是存在一些問題的,比如講,如果“審計變動”這個功能在第一種,或第二種瀏覽器里是有問題,那么就會發現不了。這種方法節省下來的時間,可以讓你在做兼容性測試策略時,更有側重。
讓其他人來幫你做測試
對于一些明顯的頁面兼容性問題,有一些在線工具可以幫著你檢查,例如 Shots,它可以將你的頁面載入到它所支持的瀏覽器中(它支持瀏覽器種類和版本很豐富),然后截屏,你可以查看在這些瀏覽器下的載入情況了.
這是一個很棒的工具,但那些需要登入驗證的應用,或則你的應用中包含的頁面太多 ,這個工具就顯得有點力不從心了.
和標準進行比對
你可以對你的站點進行HTML語法標準檢查,如果通過了,在多瀏覽器兼容性上,你可以更有自信一點了瀏覽器兼容性問題面試,但即使通過了,還是總有一些瀏覽器(比如萬惡的360)渲染你的頁面是會有兼容性問題。
自動化
Web UI的測試可以通過這個工具來實現自動化,可以使用 Grid來將自動化腳本在多瀏覽器上運行。如果不會寫代碼的話可以使用,完全零編碼進行測試。
前提是你得有Web UI自動化的投入。Web UI自動化可以發現一些功能上的問題,但對于多瀏覽器頁面布局方面的差異,通過它是很難發現的。
Fight Bugs
你可以寫一些自動化腳本來檢查頁面在不同瀏覽器下渲染效果。 bugs是一個開源的工具,可以用來檢查頁面布局方面的bug
手工測試
你可以手工測試所有的瀏覽器版本,為了避免混淆,你可以將不同的瀏覽器安裝在不同的虛擬機上(uedde的確這這樣做的)瀏覽器兼容性問題面試,當有其他人需要用是,可以直接克隆這些虛擬機,或則直接訪問這些虛擬機。但這太耗時,費力了,但還是有必要做一次這樣的多瀏覽器手工測試的。
分類
你可以依據內核來劃分瀏覽器。
& 使用的是內核,則是Gecko, IE系列的是內核,Opera使用內核。最新的Opera好像也開始使用內核了。
這樣你就可以認為,如果在上沒有問題,那么“理應”在也應該沒問題。
模擬
市面上有一些工具可以模擬不同的瀏覽器,有一些瀏覽器也附帶了工具來兼容老版本。但使用這些工具是要謹慎,這樣的模擬并不一定準確。慎重。
如果你沒有條件搭建 grid測試環境,你可以嘗試著使用Sauce Labs 和 這樣的服務。
多瀏覽器的支持我們心中永遠的痛,特別是如今瀏覽器更新如此頻繁的狀況下。哎~ 你可以選擇上面的適合你的方法。
PS:有些瀏覽器有兼容模式,可以通過兼容模式來模擬老版本。有些瀏覽器,如,提供了開發者工具可以幫著定位。