iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0
自我挑戰組

那些敏捷開發裡的小事系列 第 14

Day 14 專案裡有壞掉的測試怎麼辦?

專案裡有壞掉的測試怎麼辦?

Imgur

這邊我們可以分成兩種情況來看

  • 舊專案本來就存在一些測試但有些壞掉了
  • 新專案裡有測試壞掉了

舊專案裡的測試

這有很大的情況是前人留下來的測試,但後面接手的人並沒有好好維護下去。輾轉之下這個專案到了我們團隊的手上。

這時我們有一個問題要先達成共識。這個專案的測試我們要管它嗎?如果大家的共識是不要,那就沒有什麼好講的了,不理它就是了。

如果大家的共識是要維護測試,那接下來我們就面臨一個問題,這些壞掉的測試要怎麼辦?這時我們會有兩個選擇修和不修。

要怎麼修舊專案裡壞掉的測試嗎?

如果我們要修,那我們就必需花時間去修,這是一條很痛苦的過程,尤其是如果前人寫的測試的可讀性不高的情況下,很多時候你會看不懂它在測試什麼,它想驗證的事什麼。

修改起來要花費很多的時間和精力,好處是我們可以更瞭解這個專案。但我們必需要考慮的是,在這個時間點,花這樣的時間和精力去修改這些測試是否值得。這個答案當然是看狀況。

如果不修改舊專案裡壞掉的測試會怎樣?

如果我們選擇要維護測試,但我們又不修改壞掉的測試。這會出現一個很有趣的現象假設原本的專案裡面有 100 個測試, 70 個是好的,30 個是壞掉的。

然後我們在修改程式時,我們有好習慣也會跑測試,此時如果出來的結果也是 70 通過, 30 個失敗。這樣的結果是什麼意思?它是否可以說我們沒有改壞任何東西呢?有很大的可能性是這樣,但是否也有可能我其實把一個對的改壞了,然後把一個錯的改對了?一加一減的情況下,數據就是一樣的。我們根本無法知道測試是否有保護到我們所寫的程式碼。

所以我們到底要不要修呢?還是我們有其他的方法呢?先想一想我們明天再繼續。


上一篇
Day 13 測試能讓你同樣的錯誤不犯兩次
下一篇
Day 15 如何面對那些沒有人維護的測試
系列文
那些敏捷開發裡的小事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言