簡介
現代 Web Application 專案愈來愈複雜,只做基本的 Unit Test 並不夠驗證軟體品質。在一個導入持續整合(Continuous Integration)開發流程的專案中,我們期望專案除了通過程式碼的單元測試,實際部署到伺服器的測試站台,也要能夠以使用者的角度進行更完整的測試。
使用瀏覽器實際進行網站功能的操作,這是最接近 End User 行為的方式,即使有很高的 Unit Test 覆蓋率,最終仍不免要實際以瀏覽器操作各項功能,才能確保呈現給使用者的網站能夠正常使用。
由於瀏覽器版本相當多,在不同的作業系統上也可能存在些許差異,因此傳統的 Web QA Test 總是相當耗費人力,並且不斷重複耗時且枯燥乏味的工作。如何讓測試的工作自動化,是許多開發者努力的方向。
撰寫程式自動化測試網站各項功能,並無法取代所有測試工作的人工作業,因為許多人腦可以很容易處理的資訊,並無法輕易用程式取代。自動化測試無法完全取代網站測試所需的人工作業,但我們仍期望 80/20 法則能實踐,至少八成枯燥乏味的重複作業,能夠撰寫自動化測試程式取代,讓測試人員專注完成更重要的工作。
我們希望讀者在閱讀完前四章後,就有足夠的基礎知識能夠開始動手利用 Geb 完成一些 Web 專案的測試任務,從中體驗 Groovy 能讓工作更輕鬆完成的樂趣。