?譯者 | 陳峻
審校 | 孫淑娟
在敏捷式的開發場景中,由于業務需求和技術環境時常發生變化,為了優化DevOps和QA工作流,項目團隊往往需要通過部署最新的系統架構,以合理的成本和速度,去管理和實現既定的業務目標。近年來出現的自動化的可視化測試,簡化了產品驗證的關鍵環節。作為測試軟件應用是否滿足生產環境的主要工具,此類測試已變得越來越流行。
顧名思義,自動化的可視化測試是通過關注軟件應用程序的可視化組件,來測試軟件應用程序的自動化過程。對于大多數質量保證(QA)團隊而言,雖然此類測試是他們日常測試策略中的一部分,但是在實現方式和使用工具上存在著巨大差異。
https://www.browserstack.com/state-of-visual-testing-report
軟件測試的主要挑戰
在繼續討論可視化測試之前,讓我們先來了解軟件測試所面臨的常見挑戰:
- 自動化與手動:任何涉及到大量人工操作的測試策略,都會耗費團隊大量的資源和時間,其中也包括在測試運行和報告更新過程中的人際交流。而自動化的實現則需要測試團隊對待部署的框架具有深入的理解。同時,頻繁變化的業務需求,也會給自動化測試計劃的維護與更新,帶來一定的挑戰。
- 測試環境:為了在近乎實際的情況下開展測試,測試團隊需要能夠在一組相關的設備、瀏覽器、網絡環境中,執行各項操作,以便在受控的環境中復刻真實的使用狀況。
- 完成時間:在軟件項目中開發新的功能需要時間,開展測試同樣也需要時間。為此,測試團隊需要通過優化測試,來壓縮項目的總時間,進而在最短的時間內,獲得盡可能全面的結果。團隊可以通過采用CI/CD,來自動化應用程序的構建、以及測試的觸發,并且通過儀表板來跟蹤軟件的總體狀態。不過,在從手動遷移到自動化的過程中,他們可能因為無法理解核心業務,從而導致測試腳本雖然能夠快速執行,但是其執行的測試并不完整。
- 白盒與黑盒測試:白盒測試通常由開發人員完成,而黑盒測試則由測試人員實施。而這可能會導致兩組人員之間缺乏溝通,進而讓同步性測試變得困難重重。例如,由于白盒測試往往會比黑盒測試更為詳細和具體,因此會導致在相同區域的測試覆蓋程度上不盡相同。此外,由于白盒測試通常是在開發或分段環境中運行的,而黑盒測試則在類生產環境中開展的,這也導致了測試結果的復制和問題的調試,也會變得困難重重。
- 文檔和報告:當在應用程序中檢測到錯誤時,測試團隊應當按照既定的格式,記錄下所有與測試相關的元數據和步驟,以保持再現性和更深入的分析。同時,測試團隊需要在特性與模塊級別,去記錄應用程序的行為,其中包括:重新創建的步驟、預期的行為、以及觀察到的行為等。通常,在手動場景中,測試團隊為了能夠將檢測到的問題,及時作為任務反饋并分配給開發人員。他們需要使用諸如Jira、Trello等bug跟蹤工具,來記錄所有的細節,并與其他團隊共享。不過,這往往要求測試人員能夠清楚地說明、并將事件記錄到bug跟蹤器中。而在此過程中,就可能會出現表述不清等人為的差錯。
https://www.browserstack.com/state-of-visual-testing-report
可見,理解上述提到的各項挑戰,將有助于我們掌握軟件開發和測試過程中的各種復雜性,也便于我們運用正確的工具去解決可能碰到的問題。
自動化的可視化測試的特點和優勢
自動化的可視化測試、或稱可視化回歸測試,是針對軟件執行白盒產品驗證測試的高級方法。鑒于不同的測試團隊能夠達到的自動化程度各不相同,我們在此將一個典型的可視化自動化測試框架的特點羅列如下:
- 能夠將不同的設備、瀏覽器和操作系統,組合配置為一個測試套件,并添加到測試環境中。
- 支持設計良好、且高效的腳本語言,并能編寫出各種測試用例。
- 能夠通過SDK集成諸如React、Angular等應用程序開發平臺,以及諸如Ember、Cypress等端到端的測試框架。
- 能夠在本地開發、測試和生產環境之間順利地同步各項工作。
- 能夠記錄帶有I/O和屏幕輸出的各種測試運行會話。
- 能夠發現和記錄應用程序版本之間的差異。
- 應該具有輕量級和成本效益的特點。
https://www.browserstack.com/state-of-visual-testing-report
以下是實施自動化的可視化測試的關鍵優勢:
- 分離的技術和業務級測試:通過可視化各個單獨的應用程序版本之間的差異,您可以清楚地劃分運行單元、集成、系統和驗收測試的各項團隊職責。同時,通過將測試集成到CI/CD工作流中,您可以在每次應用發布之前,提供一個無縫的業務驗證層。
- 節省時間和資源:顯然,自動化可以減少甚至消除手動測試的需要,幫助您節省上文提到的時間和資源。而自動化的可視化測試還可以協助團隊確保測試用例的正確運行和一致性。
- 提高效率:自動化的可視化測試可以通過提供更可靠且一致性的結果,來提高測試的覆蓋率和準確性。先進的鏡像處理功能則提供了多種方法(如先進的AI/ML技術),能夠更加精確地自動記錄問題,并發現其中的差異。可以說,一個“訓練有素”的鏡像處理網絡,絕對能勝過一支人類團隊。
- 最少量的人為干預:自動化核心分析既能夠減少人為錯誤的可能性,又能夠在保留團隊成員對于關鍵過程的控制權的基礎上,提供潛在問題的盡早反饋,以協助提高軟件的整體質量。
Percy自動化的可視化測試
由BrowserStack推出的Percy,是一個一體化的可視化測試與審查分析的平臺。它能夠通過可視化整個回歸測試的過程,提供對于構建、差異、快照、以及大量其他功能的訪問。
作為BrowserStack套件的一部分,Percy可與Live和Live Automate等其他工具聯合使用,為您的各種可視化測試需求,提供全面的覆蓋。下面讓我們來簡單了解其執行的步驟:
- 首先,你需要在??Percy??處完成注冊。
- 接著,請在??Percy應用儀表板??上創建項目。
- 請遵循適合您當前編程框架的??集成指南??,并使用由其提供的可用于鏈接和驗證帳戶的令牌。
- 根據指南在本地環境中安裝項目的依賴項,以便向應用執行腳本寫入??Percy命令??,并制作快照。
- 構建并運行應用程序,通過檢查日志,以獲取快照事件的更新。
- 在生成完畢后,您可返回??儀表板??處,并查看到自己的構建列表。
- 只要您單擊任意條目,都將進入review部分。在此,您可以看到瀏覽器與Percy儀表板的其他功能之間的區別。
在Percy的儀表板上預覽構建
一旦在儀表板上出現了您的構建,您便可以通過調整項目,來添加諸如webhook、slack、各種存儲庫集成,以及在快照中更換瀏覽器等更多功能。同時,您可以添加團隊成員,并針對生產環境進行配置,以評估每個構建的可視化差異,并讓團隊針對審查開展協作。
在整個設置完成之后,您將獲得如下優勢:
全面的可視化測試和針對審批的工作流程
- 易于集成
- 實時結果
- 跨瀏覽器支持
- 強大的分析工具
- 靈活定價
基于云端的測試是未來
基于云端的測試能夠給我們帶來各種好處。其中最重要的是由它提供的快速、成本效益、以及全面的覆蓋率。云端測試工具能夠讓企業通過提供與生產環境完全相同的、近乎真實測試環境,以節省大量的時間和資金。測試人員只需通過注冊,并選擇其用于測試的真實設備,便可開始標記bug。
除了速度和成本效益,云端測試還能夠提供全面的覆蓋率。據此,測試團隊和QA經理可以更快地實現更高的準確性、以及更小的投入等目標。可以說,云端可視化測試不但簡單、快速、實用,而且能夠提高技術和業務方面的精確程度。就其目前的實際發展趨勢和本身的優勢,我們可以有把握地說,未來各種業務關鍵型軟件的測試將主要是由基于云端的、高度自動化的可視化測試平臺來實現。
譯者介紹
陳峻 (Julian Chen),51CTO社區編輯,具有十多年的IT項目實施經驗,善于對內外部資源與風險實施管控,專注傳播網絡與信息安全知識與經驗。
原文標題:??Is Visual Comparison Testing the Future????,作者:Vivek Mannotr?