實作 Test 的注意事項
這邊是紀錄進行測試時一些常見的思維與概念,幫助正確有效地進行測試
心法
心法一:關注呈現結果,而非過程細節
在進行測試時,很常發生對於太細微的過程進行測試的狀況,這也導致許多 False Negative
, False Positive
的狀況發生,比如修改組件內的方法名稱從 handleEvent
改為 triggerEvent
後,對應的測試邏輯其實是正確的,但只因為使用的名稱不同而造成錯誤,這種狀況就是 False Negative
,我們應該更多關注結果,而非細節
心法二:你的使用者所不會使用、看見、甚至是了解的東西就是細節
我們的組件最終只會給兩種人使用,終端使用者、以及其他開發人員,所以我們就該去針對「能不能正確使用 Props
」及「Render
出來的畫面」這兩項代表性的指標做測試
心法三:不要只是為自己寫下測試案例
心法三:你的測試案例越貼近使用者的使用方式,測試結果就能給你越大的信心
找到對的東西測試
- 哪部分沒有測試的程式碼一旦發生錯誤,你可能就得開始準備找份新工作?
- 試著把他們縮小成一個或幾個單元(按下結帳按鈕後,會將 items 中的資料透過 API /checkout 送出請求)
- 考慮使用者在這個單元的程式內在乎什麼(開發者要能 Render 的結帳表單,末端使用者在乎能夠點擊按鈕)
- 為使用者寫下
使用說明
,並手動測試確認功能正常(在購物車裡給假的資料 Render 出結帳表單,確保使用該數據送出模擬的 /checkout 請求,並回傳模擬的成功回應,確認畫面上是否正確顯示成功的訊息) - 將
使用說明
轉換成測試案例
,寫進自動化測試
結論
本篇是對此篇翻譯文章閱讀後進行快速總結與理解,對相關深入說明有興趣的也推薦看看原文喔