介紹
在如今技術(shù)驅(qū)動的世界中,人們會在不同的瀏覽器中選擇自己喜歡的網(wǎng)頁瀏覽,因此網(wǎng)站通過跨瀏覽器測試就顯得至關(guān)重要。網(wǎng)站加載過程中出現(xiàn)的任何異常都可能辜負用戶的信任。

因此,既然知道用戶會在多種瀏覽器中選擇,就需要確保網(wǎng)站與所有瀏覽器兼容。一些常見的網(wǎng)絡(luò)瀏覽器包括 Internet Explorer、Safari、Mozilla Firefox、Google Chrome 等。
什么是跨瀏覽器測試?
跨瀏覽器測試可以驗證應(yīng)用程序在不同瀏覽器上的操作是否正常,同時也可以驗證網(wǎng)站是否能夠按需穩(wěn)定運作。瀏覽器測試可以用于網(wǎng)頁和移動端運營當中,以及管理面向客戶的應(yīng)用程序。但最終還會存在這樣一個問題,那就是大多數(shù)應(yīng)用程序僅適用于最終用戶。
為什么需要跨瀏覽器測試?
根據(jù) Stat Counter 的數(shù)據(jù),亞洲有82% 的移動用戶使用安卓系統(tǒng) ,17% 使用 iOS,而使用其他操作系統(tǒng)的比例不到 1%。在美國,使用 iOS的人數(shù)比例為61% ,只有 38% 使用安卓。更令人無奈的是,在美國有10.5 % Windows 用戶仍在使用 Windows 7,超過 3% 的人使用 Windows 8.1,甚至有些人還在使用 XP 或 Vista。屏幕分辨率統(tǒng)計數(shù)據(jù)同樣五花八門——360×640 像素、1366 x 768 像素和 1920 x 1080 像素作為設(shè)備默認或首選分辨率在全球的比例將近 30% 。
如前所述,跨瀏覽器測試是為了測試應(yīng)用程序與多個瀏覽器的兼容性。實施跨瀏覽器測試的其他理由如下:
- 發(fā)現(xiàn)應(yīng)用程序中的缺陷并修改
 - 提高應(yīng)用程序的有效性
 - 找出任何可能缺陷
 - 測試應(yīng)用在不同瀏覽器中的外觀是否相同
 - 驗證所有應(yīng)用程序功能在不同Web 瀏覽器上是否正常工作
 - 驗證應(yīng)用程序是否在所有瀏覽器中滿足客戶需求
 
誰來執(zhí)行這項測試?
測試人員在跨瀏覽器測試中扮演著重要的角色。但是,在決定測試必要的瀏覽器數(shù)量和名稱方面,業(yè)務(wù)分析師、客戶、利益相關(guān)者的作用同樣至關(guān)重要。為了分析不同瀏覽器用戶的統(tǒng)計數(shù)據(jù),一般選擇幾個用戶常用的 Web 瀏覽器就好,畢竟測試人員不可能把市面上成百上千的瀏覽器都囊括到跨瀏覽器測試當中。
分析小組和客戶列出用戶最常用的瀏覽器,測試人員將進一步對其進行測試。
如何進行跨瀏覽器測試?
最重要的部分是執(zhí)行跨瀏覽器測試。首先,要確定是執(zhí)行手動測試還是自動化測試?盡管跨瀏覽器測試可以通過手動測試實現(xiàn),但考慮到機器、操作系統(tǒng)和瀏覽器眾多,手動測試面臨的挑戰(zhàn)可想而知。因此,自動化測試是跨瀏覽器測試的首選方案。
手動方式
在各種 Web 瀏覽器上測試應(yīng)用程序并非易事。以手動測試時,應(yīng)用程序只能在有限的網(wǎng)絡(luò)瀏覽器上擴展,從而限制了應(yīng)用程序的效能,且這個過程既費時又費錢。
自動化方式
跨瀏覽器測試要求在不同瀏覽器上運行相同的測試套件。所以,這項重復(fù)性任務(wù)如果手動執(zhí)行既耗時又昂貴,還不免會出錯。此外,自動化跨瀏覽器測試更具成本效益,同時亦有許多工具支持。
HeadSpin
HeadSpin 是業(yè)內(nèi)領(lǐng)先的跨瀏覽器測試平臺之一。它針對移動和網(wǎng)絡(luò)應(yīng)用程序,允許用戶同時執(zhí)行手動和自動化的測試工作。HeadSpin可以同時運行多個測試用例,從而有利于資源優(yōu)化。HeadSpin 具有專用的設(shè)備部署模型,可提高測試過程的安全性和性能。HeadSpin 平臺的高級 AI/ML 功能能夠?qū)Ω鞣N參數(shù)深入了解,包括網(wǎng)絡(luò)性能、CPU 負載和電池消耗等設(shè)備相關(guān)因素、網(wǎng)絡(luò)優(yōu)化問題以及音頻和視頻問題等等。
Cross-browser Testing
Cross-browser Testing是跨平臺的測試工具,它功能強大,可以基于云環(huán)境針對2050 多個真實的桌面和移動瀏覽器強制執(zhí)行手動、視覺和 Selenium 測試。Cross-browser Testing具有驚人的記錄重放( Record & Replay )屬性,允許記錄實時測試并在相應(yīng)的快速測試中運行記錄的測試。
Experitest
Experitest 允許在不同的瀏覽器和移動設(shè)備上實施相應(yīng)的測試。
Selenium
Selenium 與瀏覽器事務(wù)合作可以幫助測試 Web 應(yīng)用程序,并毫不費力地解決應(yīng)用程序之間的不一致問題。它是正在快速發(fā)展的瀏覽器測試自動化工具。
LambdaTest
LambdaTest 用于在各種 Web 瀏覽器和操作系統(tǒng)的 2000 多種組合上測試 Web 應(yīng)用程序。它是一個基于云的跨瀏覽器測試平臺,允許在 Selenium 網(wǎng)格上實現(xiàn) Selenium 自動化測試。LambdaTest有助于對云上的網(wǎng)站和 Web 應(yīng)用程序進行實時交互式跨瀏覽器測試。
Browserling
Browserling 是一種用于快速測試的實時交互工具。Browserling 提供了對所有標準瀏覽器和流行操作系統(tǒng)的快速訪問。
跨瀏覽器兼容性自動化測試的好處
對Web 應(yīng)用程序/網(wǎng)站執(zhí)行自動化跨瀏覽器兼容性測試好處很多,下面來看看有哪些最關(guān)鍵的優(yōu)勢:
無縫的用戶體驗和質(zhì)量保證
最直接的好處是為最終客戶提供理想的用戶體驗,而這可以進而轉(zhuǎn)化為持續(xù)的業(yè)務(wù)增長,同時降低客戶流失率,并讓員工的智慧得到更好利用。公司人員無需被跨瀏覽器調(diào)試損壞的用戶界面困擾,而是可以將注意力放在開發(fā)獨特的解決方案上。
降低風險
QA 小組報告顯示,自動化為人們節(jié)省了 70% 的時間。通過自動化測試,可用性及功能錯誤可比手動測試更快地關(guān)聯(lián)起來。這種方式使測試人員能夠正確評估對市場的威脅或責任,確定危害的優(yōu)先級,從而解決它們。
縮短發(fā)布周期并更快地交付代碼
隨著新開發(fā)路徑的推出,測試形勢也得到了增強。應(yīng)用程序測試人員進行無休止的測試幾乎是家常便飯,而Selenium 等自動化應(yīng)用程序可以輕松集成到 DevOps 自動化策略中。測試是 CI/CD 流水線執(zhí)行的關(guān)鍵階段,開發(fā)團隊可以通過永久自動化測試快速交付代碼,并縮短新功能的發(fā)布周期。
成本效益、時間效率、測試覆蓋率和準確性
借助托管瀏覽器測試自動化結(jié)果,測試團隊無需再擔心依賴版本精確設(shè)置架構(gòu)的枯燥過程。相反,測試人員可以專注用他們喜歡的語言(如 Python、Ruby、Java、PHP 等)編寫健壯的腳本。
結(jié)論
通過云測試自動化服務(wù),組織能夠成功掙脫高額費用和已有測試架構(gòu)。此外,它還可以完成以下工作:
- 擴展至 2000 個瀏覽器或設(shè)備;
 - 縮小內(nèi)部測試架構(gòu)并根據(jù)需要使用基于云的測試結(jié)果;
 - Web 瀏覽器、操作系統(tǒng)、設(shè)備和屏幕分辨率的不同組合提供了更好的測試覆蓋率;
 - 自動化跨瀏覽器兼容性測試本質(zhì)上有助于避免人為破壞,提供更好的效能。
 
譯者介紹
崔皓,51CTO社區(qū)編輯,資深架構(gòu)師,擁有18年的軟件開發(fā)和架構(gòu)經(jīng)驗,10年分布式架構(gòu)經(jīng)驗。曾任惠普技術(shù)專家。樂于分享,撰寫了很多熱門技術(shù)文章,閱讀量超過60萬。??《分布式架構(gòu)原理與實踐》??作者。
原文標題:??Automated Cross-Browser Compatibility Testing???作者:Jamie Davidson















 
 
 

 
 
 
 