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(保密協議),以便保護有關產品的機密信息。越來越多(規模不同)的公司正在使用眾包測試,因為它具有良好的成本優勢。
目標地區的瀏覽器市場份額
前面我們討論了在重要的瀏覽器上進行測試的重要性,因為這些瀏覽器在市場上最為流行。因此,在開始設計和編碼網站/ Web應用程序之前,務必先了解不同瀏覽器支持的功能差異。您需要收集各個瀏覽器在目前地區的份額,並根據這些發現確定功能開發和測試的優先級。
使用自動化捕獲屏幕截圖
“屏幕抓取”功能可用於驗證渲染輸出,這是圖像回歸測試的重要組成部分。整個方法非常簡單。在執行特定功能期間進行屏幕抓取,並使用圖像差異算法來驗證屏幕抓取質量與預期輸出之間的差異。自動截圖,可捕獲大量屏幕截圖,以快速跟蹤跨瀏覽器的測試工作。在一個測試周期中,可以從各種瀏覽器,瀏覽器版本,操作系統和設備中捕獲多個屏幕截圖進行對比驗證。
盡早關注與本地化和用戶體驗相關的功能
手動測試易於驗證與用戶體驗緊密相關的功能。早期的重點應該放在用戶體驗測試上,並且應該在產品測試的不同階段繼續進行。如果您的產品具有本地化功能,例如以其他文字向客戶顯示網站內容,則在產品達到一定的成熟階段后,必須對這些功能進行嚴格測試。
- 鄭重聲明:文章首發於公眾號“FunTester”,禁止第三方(騰訊雲除外)轉載、發表。
技術類文章精選
- java一行代碼打印心形
- Linux性能監控軟件netdata中文漢化版
- 性能測試框架第二版
- 如何在Linux命令行界面愉快進行性能測試
- 圖解HTTP腦圖
- 將swagger文檔自動變成測試代碼
- 基於java的直線型接口測試框架初探
- Selenium 4.0 Alpha更新日志
- Selenium 4.0 Alpha更新實踐
- 如何統一接口測試的功能、自動化和性能測試用例