習慣沉默2017-05-19 10:28:28
和單元測試/整合測試相比,E2E測試可以用更少的程式碼覆蓋更多的測試場景,代價則是測試的細緻程度不足。
要注意的是:不是所有項目都適合寫E2E測試,以下幾點可以幫助你判斷自己的項目適不適用E2E測試。
專案週期長。編寫E2E測試會消耗不少時間和精力,如果不是長期維護的專案沒必要進行這些投入。
專案迭代頻率高。如果迭代間隔非常長,有充足的測試時間和人手,那麼細緻的手動介面測試會更加可靠。
頁面結構穩定。 E2E測試一般依賴css/xpath選擇器作為定位元素的方法,如果頁面的dom解構經常變更,那麼維護測試案例的成本就會上升。
此外在以下場景中E2E測試的效果比較好:
純靜態頁面,最好是連內容都不變的頁面。可以透過在瀏覽器層面做截圖,然後比較前後兩個迭代版本截圖的是否一致來判斷變更是否破壞了頁面的最終展示或展示的改變是否和預期一致。
相容性測試。如果需要測試項目在各種瀏覽器下的相容性問題,可以透過E2E測試一次覆寫多個不同瀏覽器。
互動複雜、互動步驟多。例如一個複雜的多步驟表單的填寫,人工操作成本越大,用E2E自動完成帶來的效益就越多。
但是要留心,和其他測試一樣,如果你的測試流程有數據寫入,那麼在測試結束後應該清除寫入的數據,保證再次運行時又是一個一致的環境。
漂亮男人2017-05-19 10:28:28
人工可能出錯,而機器比較穩定。釋放勞動力,這點很重要,特別是對一些核心業務頁,把每一種情況都面面俱到很難,所以E2E就是為了解決這一問題的吧。
不過,如果你用的Angular,寫E2E更爽