調查:你測試你的代碼了么?
導讀:petenixey 14日在 Hacker News 發起了一個投票主題:《Do you test your code? / 你測試你的代碼了么?》,有 300 多個評論,成為一個熱帖。
該調查有 7 個選項:
①. We have a test suite that tests all functionality 我們有一套測試所有功能的方案(13.8%)
②. We have a test suite that tests a few critical things 我們有一套測試一些重要功能的方案(18.7%)
③. We don’t really test much 我們不怎么測試 (19.6%)
④. [ AND ALSO CLICK ON AN ANSWER BELOW... 同時也選擇了下面的答案 ]( 3.4%)
⑤. We are happy with the amount of testing we do 對我們所做的測試量,我們表示滿意 (10.9%)
⑥. We’d like to do more testing but it’s too much overhead 我們很想做很多測試,但開銷太大了 (29.6%)
⑦. Tests? We don’t need no stinking tests. 測試?我們不需要測試。(4%)
根據 HN 的投票結果,伯樂在線做了一張餅圖:
下面摘譯一些得分數較高的評論
1. callmeed 的回復:
雖然我選擇了第②個選項,但對我來說,測試工作大多數時候很乏味、令人沮喪,就是一個時間消耗器。我最近需要遠程 TDD 指導,給某人支付$100的時薪。雖然有點幫助,但并沒有真正改變我對測試的態度。
困擾我的是:
● 測試框架和“最佳實踐”的改變方式快于語言框架,我基本跟不上。哪個版本的 Rspec 配哪個版本的 Rails?我現在必須使用 Cucumber 么?……天哪,現在 Steak 更好啊!(狂暴)
● 我在我們產品程序中所遇到的大多數 Bug,都是我從來都沒有想到要寫測試的東西……
● 我處理自定域,認證(authentication),幾乎在我們的每一個應用中,都調用了第三方的 API。依我看,這增加了 20%(甚至更高)的測試開銷。
● 更多代碼移給了前端 JS 人員。所以現在我必須編寫 Rails 測試和 JS 測試?聽起來不錯。
2. IanMechura 的回復:
哇!我必須說,我非常吃驚,居然那么多人回復(選擇)說他們很少測試或幾乎不測試。 也許是因為我在創業世界對立面的企業開發世界。
把一個重要 bug 傳遞給 QA 或生產環境所涉及的開銷和挫敗感,遠遠高于編寫和維護測試的相關開銷和挫敗感。
每一個業務動作都有與之相關聯的成本。參與的人越多(客戶、UAT、經理等),成本較高。錯誤發現的越早,修復的越早,受影響的人越多,成本也減少了。
讓這種習慣根植于你的日常工作中,這就是如何讓自己成為一個更有價值的程序員,提高薪水的方式。
如果你還想看其他評論,請查看 HN 原帖。