iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
0
自我挑戰組

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

Day 15 如何面對那些沒有人維護的測試

  • 分享至 

  • xImage
  •  

如何面對那些沒有人維護的測試

Imgur

昨天我們提到當我們要維護一個舊專案裡的測試時,我們可以選擇花時間和精力把壞掉的測試修好,也可以選擇不修壞掉的測試。這兩個選擇看起來各有它的優缺點,我們該怎麼選擇呢?還是有其它的方法呢?

兩種選擇的優缺點

在第一個選擇裡,我們花時間和精力去修改那些壞掉的測試,也許我們要花兩個星期。在這兩個星期裡我們是沒有任何產出的,但這值得嗎?我不知道,這要看情況,但大部分是不值得的。把時間拿去做更有價值的事情,除非你沒事做了。

在第二個選擇裡,我們不把壞掉的改正確,就把它放在那裡。但之後修改維護的時候我們可能會加測試,也可能會把舊的程式碼改壞,但是在有一些壞掉的測試在的情況下,我們無法知道每次的修改是否正確,或是說要花費額外的時間才有辦法確認。

那些無法保護到你的測試,就把它砍了吧!

這邊的建議是,把它砍了。

如果我們把目前壞掉的測試砍掉會是什麼情況?

我們有了一個有一些測試的舊專案,而且它的所有測試都是通過的。這個好處是日後我們在修改的時候,只要跑測試就知道我們是否有改壞東西。

當我們想新加測試時,也只需要專注在讓這個測試通過就好,不用花時間去注意是否改壞其它的地方,因為原本的測試會幫我們驗證。

把它砍了?那原本壞掉的測試情境怎麼辦?

把它砍了?那原本壞掉的測試情境怎麼辦?我的答案是不理它,當它們沒有存在過。

我們可以想一下,當我們拿到這個專案時,它應該已經上線了,上線代表什麼意思,它有通過 QA 的測試,也就是說,雖然那些測試是壞的,但 QA 的測試是過的。

那些壞掉的測試也許是函數多加了一些參數,或介面修改了,原因有很多,但 QA 的測試是通過的。

這是否跟我們花 30 分鐘為每個項目寫測試時,也是有一些測試案例沒有寫,但是它們也有可能通過 QA 的測試,如果沒有通過的,我們也會補上測試是一樣的。

什麼時候才要考慮那些被砍掉的測試?

如果你問我什麼時候才要考慮那些被砍掉的測試?我會說,當它發生問題的時候,也就是說不管是 QA 找到 Bug 或是線上出現問題需要修改的時候。這時才需要考慮把發生問題的這個情境下的測試補上去,其它的就不需要了。


上一篇
Day 14 專案裡有壞掉的測試怎麼辦?
下一篇
Day 16 新專案裡有測試壞掉了
系列文
那些敏捷開發裡的小事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言