iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

前兩天講了「為什麼(Why)」、「面臨什麼挑戰(What)」。接著該來講述實踐前端自動化測試的原則及方法(How)。

敏捷軟體開發方法學提倡者 Robert C. Marting 在著名的《clean code》提出 F.I.R.S.T 原則。亦即測試要跑得快(First);測試的程式碼要獨立(Independent),不能夠互相依賴;測試的程式碼要可在不同環境中被重複(Repeatable)執行;並且要能夠自渥驗證(Self-Validating);最後是,撰寫測試要及時(Timely)。

https://ithelp.ithome.com.tw/upload/images/20230922/20161783ztX0YQoZHN.png

在談到軟體測試方法上,最廣為人知的是 2009 年 Mike Cohn 在 《Succeeding with Agile》提出的測試金字塔。測試金字塔協助開發者及 QA 人員,將測試分成三個類別。

  • 金字塔最底層的單元測試(Unit Test)
    旨在確保程式撰寫邏輯正確性,撰寫成本最低、範疇最小,且高度隔離(isolated)
  • 金字塔中間的服務測試(Service Test)
    是泛指所有應用程式 API、資料邏輯、整合其他服務的邏輯,在此處測試複雜度較高,需確保完整業務(商業)邏輯正確
  • 最頂層的使用者介面測試(UI Test)
    則是站在使用者角度,條列式使用者的 use case 進行畫面測試。

https://ithelp.ithome.com.tw/upload/images/20230922/201617836b3t88UHFI.png

而把「測試金字塔」放入前端領域中就會長成這樣。

  • 底層的單元測試(Unit Test)
    依照前端開發邏輯正確與否進行最小單位的測試
  • 中間的整合測試(Integration Test)
    對於模組間的交互作用進行測試
  • 最上層的端對端測試(E2E Test)
    針對使用者對畫面上的操作進行測試,但此測試開發成本高,通常會優先選擇商業價值較高、最必要的部分優先進行開發。

上一篇
[Day 7] 前端自動化測試的挑戰
下一篇
[Day 9] 前端自動化測試的種類
系列文
手動測試好累喔!一起來寫前端自動化測試吧~30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言