如何在跨瀏覽器測試中提高效率
Web端應用測試主要障礙之一就是在不同的瀏覽器上“測試他們的網站/應用程式”,也稱為“跨瀏覽器測試”或者“相容性測試”。 瀏覽器和瀏覽器版本很多(Google Chrome,Mozilla Firefox,Internet Explorer,Microsoft Edge,Opera,Yandex等),可以通過多種裝置(通過桌上型電腦,筆記本,智慧手機,平板電腦等)訪問網站/應用。 )以及可能用於訪問網站的多種作業系統(Windows,MacOS,Linux,Android,iOS等)。
要確保網站的UI/UX及其功能正常執行,並且在“瀏覽器+瀏覽器版本+作業系統+裝置配置”的組合上沒有任何BUG,則將需要大量的開發,測試和維護工作。手動跨瀏覽器測試的主要痛點是,測試人員可能需要花費大量時間來測試不同的網頁,跨瀏覽器跨越來越多的“複雜”組合中的不同斷點測試Web應用程式。
測試人員要確保在不影響迭代週期的情況下,保持測試流程覆蓋到位以提高執行測試的速度。下面是改善手動跨瀏覽器測試(相容測試)的一些方法和技巧。
並行測試
不管測試策略是否涉及自動化測試,眾所周知的事實是,與序列開發/序列測試相比,並行模組開發/並行測試將始終更快。可以通過開發測試指令碼來實現並行測試,該指令碼將允許跨不同瀏覽器,作業系統和裝置的原始碼進行跨瀏覽器測試。您可以使用Selenium WebDriver開發有效測試指令碼。
在雲上執行跨瀏覽器測試
建立可以相容性裝置,瀏覽器和作業系統組合的測試基礎架構是一項昂貴的事情。例如,如果您必須在不同版本的Android上測試網站功能;您將需要具有這些Android版本的裝置,並且還需要從不同的智慧手機供應商處購買裝置。因此,這種方法是不可行且不可持續的。理想的方法是在雲測試服務上測試功能,以便您可以專注於測試而不必擔心基礎架構。也可以通過下載相應的WebDriver for Selenium使用Selenium編寫自動測試指令碼。
各個階段進行測試
定期測試可避免在開發週期的後期階段才會遇到錯誤。作為開發人員,應該針對不同的組合測試功能。即使您不習慣測試模組,也應該改變思維方式,並將測試作為工作的一部分。如果您正在使用複雜的功能,則可以將測試計劃劃分為不同的階段,以便對其進行解耦。
測試指令碼
單元測試是在“單元級別”執行的,而回歸測試是在產品的端到端功能的情況下進行的。理想情況下,進行迴歸測試以確保新的程式碼更改不會對現有功能產生影響。在某些情況下,功能中可能包含視覺元素,例如使用JavaScript的按鈕單擊;而在某些情況下,介面上沒有更新,例如,單擊按鈕後,將更新資料庫中的某些欄位。因此,建議及時開發和維護測試指令碼,並應按優先順序對測試指令碼進行分組。
跨瀏覽器相容性矩陣
一旦完成了負責為您的網站帶來流量的瀏覽器的分析,接下來就可以通過對瀏覽器進行分類來對其進行優先順序排序,如下所述:
- 完全支援且最受歡迎的瀏覽器。
- 完全受支援的瀏覽器不那麼受歡迎
- 部分受支援但很喜歡的瀏覽器。
- 部分受支援,而不是最受歡迎的瀏覽器。
- 不支援但最喜歡的瀏覽器。
- 不支援且不受歡迎的瀏覽器。
跨瀏覽器相容性列表將幫助您實現執行跨瀏覽器測試時切勿錯過的瀏覽器。通過清楚地說明未提供結果的瀏覽器,還可以幫助您減少測試工作。使用跨瀏覽器相容性列表,可以更有效地執行跨瀏覽器測試策略。
關注瀏覽器本身的差異
瀏覽器也是一個軟體,與其他任何軟體一樣,它們也有錯誤。瀏覽器公司會定期修復錯誤,並通過更新將其推送給使用者。修復的版本可能不會對您實現的功能產生任何影響。但由於存在許多作業系統,因此應該關注瀏覽器版本的更新日誌,再決定將哪種瀏覽器版本和系統版本進行組合。如果瀏覽器在這些作業系統之間的變化很小,需要跳過。當執行手動跨瀏覽器測試時,應該專注於那些差異更大的的測試組合。
眾包測試
如果您無法在內部找到測試資源,則可以使用眾包測試服務。對於眾包測試網站,您可以選擇適合條件的測試人員。根據產品的性質,您可以獲得由測試人員簽署的NDA(保密協議),以便保護有關產品的機密資訊。越來越多(規模不同)的公司正在使用眾包測試,因為它具有良好的成本優勢。
目標地區的瀏覽器市場份額
2019年瀏覽器市場份額排行榜
前面我們討論了在重要的瀏覽器上進行測試的重要性,因為這些瀏覽器在市場上最為流行。因此,在開始設計和編碼網站/ Web應用程式之前,務必先了解不同瀏覽器支援的功能差異。您需要收集各個瀏覽器在目前地區的份額,並根據這些發現確定功能開發和測試的優先順序。
使用自動化捕獲螢幕截圖
“螢幕抓取”功能可用於驗證渲染輸出,這是影象迴歸測試的重要組成部分。整個方法非常簡單。在執行特定功能期間進行螢幕抓取,並使用影象差異演算法來驗證螢幕抓取質量與預期輸出之間的差異。自動截圖,可捕獲大量螢幕截圖,以快速跟蹤跨瀏覽器的測試工作。在一個測試周期中,可以從各種瀏覽器,瀏覽器版本,作業系統和裝置中捕獲多個螢幕截圖進行對比驗證。
儘早關注與本地化和使用者體驗相關的功能
手動測試易於驗證與使用者體驗緊密相關的功能。早期的重點應該放在使用者體驗測試上,並且應該在產品測試的不同階段繼續進行。如果您的產品具有本地化功能,例如以其他文字向客戶顯示網站內容,則在產品達到一定的成熟階段後,必須對這些功能進行嚴格測試。
- 鄭重宣告:文章首發於公眾號“FunTester”,禁止第三方(騰訊雲除外)轉載、發表。
技術類文章精選
- java一行程式碼列印心形
- Linux效能監控軟體netdata中文漢化版
- 效能測試框架第二版
- 如何在Linux命令列介面愉快進行效能測試
- 圖解HTTP腦圖
- 將swagger文件自動變成測試程式碼
- 基於java的直線型介面測試框架初探
- Selenium 4.0 Alpha更新日誌
- Selenium 4.0 Alpha更新實踐
- 如何統一介面測試的功能、自動化和效能測試用例
非技術文章精選
- 為什麼選擇軟體測試作為職業道路?
- 寫給所有人的程式設計思維
- 成為自動化測試的7種技能
- 如何在DevOps引入自動化測試
- Web端自動化測試失敗原因彙總
- 如何在DevOps引入自動化測試
- 測試人員常用藉口
- API測試基礎
- API自動化測試指南
- 未來的QA測試工程師