實作 Test 的注意事項

這邊是紀錄進行測試時一些常見的思維與概念,幫助正確有效地進行測試

心法

心法一:關注呈現結果,而非過程細節

在進行測試時,很常發生對於太細微的過程進行測試的狀況,這也導致許多 False Negative, False Positive 的狀況發生,比如修改組件內的方法名稱從 handleEvent 改為 triggerEvent 後,對應的測試邏輯其實是正確的,但只因為使用的名稱不同而造成錯誤,這種狀況就是 False Negative,我們應該更多關注結果,而非細節

心法二:你的使用者所不會使用、看見、甚至是了解的東西就是細節

我們的組件最終只會給兩種人使用,終端使用者、以及其他開發人員,所以我們就該去針對「能不能正確使用 Props」及「Render 出來的畫面」這兩項代表性的指標做測試

心法三:不要只是為自己寫下測試案例

心法三:你的測試案例越貼近使用者的使用方式,測試結果就能給你越大的信心

找到對的東西測試

  • 哪部分沒有測試的程式碼一旦發生錯誤,你可能就得開始準備找份新工作?
  • 試著把他們縮小成一個或幾個單元(按下結帳按鈕後,會將 items 中的資料透過 API /checkout 送出請求)
  • 考慮使用者在這個單元的程式內在乎什麼(開發者要能 Render 的結帳表單,末端使用者在乎能夠點擊按鈕)
  • 為使用者寫下使用說明,並手動測試確認功能正常(在購物車裡給假的資料 Render 出結帳表單,確保使用該數據送出模擬的 /checkout 請求,並回傳模擬的成功回應,確認畫面上是否正確顯示成功的訊息)
  • 使用說明轉換成測試案例,寫進自動化測試

結論

本篇是對此篇翻譯文章open in new window閱讀後進行快速總結與理解,對相關深入說明有興趣的也推薦看看原文喔

Last Updated:
Contributors: johnnywang