如果你也有這些感受,那可能是因為「還沒開始單元測試的你一定很忙」。當我們沒有任何自動化測試時,開發過程中看似省事,但卻常常在後期付出更多的時間成本。這篇文章要和你分享:其實一個人就能開始單元測試,並透過一些簡單的測試,替自己「減輕」開發的負擔。
不用再手動一個一個按
沒寫測試時,每次修改功能後,你可能就要打開瀏覽器,進行多種操作流程、點擊不同按鈕,直到確定「好像沒壞」才放心。但只要你建立了一兩個「簡單的自動化測試」,每次改完程式就能跑一下測試,程式會自動幫你做檢查,比手動測好多了。
某次上線前,不小心改錯了某個Function導致計算結果都不正確,手動測試很難一下子發現。但有測試後,一跑測試就立刻紅燈警告,避免了正式上線的災難。
隨時知道程式哪裡壞掉
有測試時,只要程式的某部分壞了,跑測試就能快速告訴你問題在哪裡,甚至在哪個函式或哪段程式碼。少了手動排查流程,也更能快速鎖定問題。
給自己多一層保護
測試不只是給大公司或大團隊用的保護網,就算是自由工作者、Side Project 開發者,或是團隊裡最孤獨的我,也能靠「幾條測試」降低反覆 Debug、修 Bug 的風險。
「感覺很難,不知道從哪開始」
大部分初學者對測試的印象是「要寫很多莫名其妙的函數,而且一開始就要很複雜」。事實上,測試也可以很簡單,從最容易的函式測試下手就行。
「時間不夠、進度太趕」
很多人認為寫測試會拖慢開發速度,「老闆都在催了,哪有時間寫測試?」然而,你現在沒花的測試時間,往往會在未來的 Debug 與重構中「雙倍奉還」。
「沒看到好處,覺得測試只是浪費時間」
有些人沒親身體驗過測試帶來的效率提升,所以覺得只是不必要的額外工。對此,我們可以透過小規模的實驗、局部的測試來累積信心。
上面提到的只是常見阻力,並不代表所有人都如此。有些開發者早就把測試當成日常,也有團隊在某些專案中推行,但在其他專案卻沒時間做。每個環境都不一樣,需要具體情境來思考。
testXxx()
方法,測試你想測的函式。「還沒開始單元測試的你一定很忙」,不是一句隨便的口號,而是無數過來人累積下來的經驗談。
下一篇,我們一起正式進入 PHPUnit 的世界,教你如何安裝與撰寫第一個簡單的測試。只要做完下一篇,你就能從「不知道測試是什麼」進階到「寫出你的第一支測試」,幫助你一步一步往更完善的測試之路邁進。
希望你能在看完本文之後,嘗試寫下你的第一隻測試,讓自己不再「忙到翻」而是「忙得有條不紊」!
如果你想知道如何安裝與使用 PHPUnit,歡迎 走進 PHPUnit 的世界:從 0 到 1 的測試入門!
更多實用開發技巧在:詹姆士的軟體易開罐