iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
SideProject30

用 Rails 打造你的電商網站系列 第 24

Day 24 - 測試很重要!

  • 分享至 

  • xImage
  •  

接下來我們要來介紹測試囉

為什麼要寫測試?

其實測試應該是要在開發前寫好,

身為一個 Rails Developer,

寫測試是必備的基本功

Ruby 沒有所謂的編譯期的型別檢查,

可能程式跑到一半就出現 nil 之類的,

而造成錯誤,這時候寫測試就非常重要

什麼是測試?

我們來看看維基百科怎麼定義。

測試
描述一種用來促進鑑定軟體的正確性、完整性、安全性和品質的過程。

寫出簡單明瞭、完整符合需求的程式碼,應該是所有工程師的理想目標

寫測試可以幫助我們達成這個目標
當然寫測試的目的並不只有這個

為什麼要寫測試?

寫測試的好處多多;壞處,我想不太到

  1. 有明確的規格可遵循開發
    客戶開出需求給我們,通常是範圍極大,或者沒有聚焦於重點的要求
    這時候要做的是將需求轉換為規格,讓我們跟客戶達成共識,有了規格,在日後的開發也會有一套標準能遵循,避免日後的爭議

  2. 了解程式的整個脈絡
    會將功能切分成好幾個小區塊,設想各種不同的情境,最後將整個情境串連起來,讓我們更能掌握整個程式碼運作的脈絡

  3. 保證程式碼能運作
    自動化測試能確保我們寫出來的程式在其他情境下是跑得動的

  4. 減少 bug 發生的機率
    經過不斷地修改、驗收測試,可預期使用者在流程中會遇到哪些 bug ,這些我們可以提前在測試中消除掉,且少了 bug 好處多多,有機會讓開發時程加速,以及重構應該也會更輕鬆哦!

測試分成哪些模式?

  • 測試模式
  1. 單元測試
    將功能切分成一個個小單位,以不同的狀況及情境去測試,這時候的測試不會碰到資料庫的資料,可使用變數來進行測試。

  2. 整合測試
    是業界比較常寫到的測試,會需要針對資料庫或是外部系統去做資料的新增/讀取/修改/刪除,假設我們今天要做記帳系統,要去測試 使用者每花一次錢,帳戶剩下多少

  3. 系統測試
    測試整個應用程式的所有功能,會包含外部的系統(如金流系統)一起測試

  4. 使用者接受度測試
    應用程式是為了使用者的需求而寫出來的,好用與否也是使用者說的算,所以在上線前必須要先讓使用者測試

測試該從哪裡開始?

BDD 行動驅動開發

程式開發人員與測試人員一起將需求轉換成規格,
需要考量到不同的情境,規劃出不同的腳本,
並使用腳本進行測試及開發,
降低使用者及開發人員的資訊落差,
讓開發出來的功能符合使用者的需求。

TDD 測試驅動開發

當腳本完成後,就會開始進入測試流程,
不斷地測試、未通過、撰寫/修改程式碼,直到最後通過。


上一篇
Day 23 - 程式碼警察來監督
下一篇
Day 25 - 假資料夢工廠
系列文
用 Rails 打造你的電商網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言