說說TDD的好處和壞處-對話

小帆 17:20

誰來科普下TDD的好處和壞處是啥?我們市場VP聽說了TDD以後情有獨鍾,但是大致看了一些好像很難推廣?

菌菌 17:21

好處是大大的,壞處是成本很高

羅耀秋 17:22

你自己開發寫代碼 你願意這樣幹不

小帆 17:23

@JuneC 好處具體是啥?

福瑞德孟 17:24

對於一錘子買賣的項目來說,如果沒有自動化的工具,那成本一定是大於收益的;對於產品來說,一定是小投入,大收益

菌菌 17:28

據說是在源頭髮現問題

菌菌 17:28

測試更貼近需求等等

韓炳濤 17:42

如果是想通過TDD把不靠譜的工程師變成靠譜的,可能成本更高

james 18:45

實際上我們在兩個團隊裏實踐敏捷,15個人裏培養了5個不錯的全棧。然後3個跳了。。。培養成本不高,留人的成本會比較高[吐]

james 18:57

tdd的實踐,我們刻意想做,但是沒做成。結果有一次重構,只要求一個故事至少一個用例覆蓋。不知不覺中,團隊將單元測試架構不斷優化,結果寫一個用例不到5分鐘。這時有同事先易後難,先寫測試例,tdd的思維莫名其妙的產生了

james 18:58

後來回顧,測試架構足夠簡單,團隊纔有意願去實踐tdd,從而帶來更多主動性去優化測試架構

james 19:01

後來嘗試在成熟的架構上實踐tdd,結果測試架構沒有中間的演進優化過程。結果一個用例從一開始就很難寫,團隊就沒人願意寫,除非你將測試例設定爲交付標準

james 19:04

而且補測試例的情況居多,因爲測試例的推導比正常程序還困難。補充一下,我們會寫設計文檔,先進行過推導,所以直接寫程序會比較容易

張克強 19:32

@james 是的,tdd應當能快速提升技能,留人要加錢啊

張克強 19:39

tdd的好處主要有:
1,編出來的程序是自帶測試的,可靠性好,缺陷少
2,能大大減少debug的需要,尤其減少單步調試,從這裏能節約時間
3,功能的實現有點像 數學裏的歸納法, 直接計算 n的情況,很難,但是先計算1的情況,再計算2,再計算從n-1到n,然後就解出來了

張克強 19:40

對於第三點,這是非常美妙的感覺,效率提升非常明顯,而且帶測試通過的。

張克強 19:41

tdd與需求的關聯不是特別直接。 atdd纔是直連需求

穿越時空的貓 19:42

說效率提升有點過了。質量提升是肯定的。工作量擺那兒呢。

張克強 19:44

對全棧高手而言,效率提升是必然的。

張克強 19:47

就算是單純的質量提升,也會帶來效率提升。因爲缺陷少就意味着,來回調試少。

穿越時空的貓 19:48

全棧高手往往是平庸的代名詞,人的精力是有限的。真正的全棧敲手一個公司找不出一兩個來,幹活不能只靠這一兩個人。術業有專攻,全才往往是庸才。

張克強 19:51

tdd而言,主要要求程序員會自動化測試,不是需要太全的全棧

張克強 19:54

也不需要從tdd來調試性能,也不需要從tdd來調整架構。我的看法。

張克強 19:55

tdd最擅長的是新功能開發

穿越時空的貓 19:55

這個可行。但高手就不能談全棧,要達到能做京東,阿里這些架構的水平,一輩子不見得能達到,還哪有時間去鑽研別滴。

james 19:55

個人對全棧的要求就是團隊有問題,任何人都能頂上去。實際上一個公司不需要那麼多專才

張克強 20:01

tdd的工作量其實是在前面,1是環境的搭建,要搭建非常快速的環境,這就要求原有結構能分得出來。前面的架構不能太爛

張克強 20:01

有些組織在這第一步上就是難於跨過

張克強 20:03

2是人員的培訓,無論是自學還是外請老師或者教練,都是工作量

張克強 20:05

tdd跑起來之後,工作效率如果沒有提升,那麼這個tdd就是不能算成功跑起來了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章