可能重複:
How do I convince programmers in my team to do TDD?如何灌輸TDD習慣在一個團隊
有哪些最好的方式,鼓勵和灌輸TDD習慣成從來沒有一支球隊使用TDD?
任何人都可以分享他們用正確的和錯誤的方式體驗使用TDD,使得他們覺得有效,並希望使用它在將來所有的項目,以保持獲得一個團隊?
可能重複:
How do I convince programmers in my team to do TDD?如何灌輸TDD習慣在一個團隊
有哪些最好的方式,鼓勵和灌輸TDD習慣成從來沒有一支球隊使用TDD?
任何人都可以分享他們用正確的和錯誤的方式體驗使用TDD,使得他們覺得有效,並希望使用它在將來所有的項目,以保持獲得一個團隊?
這可能是僅僅讓你走出煎鍋走進火爐,但我們發現真正說服人們採用TDD的最好方式是配對編程。 TDD是大多數人在智力上知道是有效的那些事情之一,但是他們不會始終如一地應用它,直到他們感受到他們的直覺的好處。說服一個人的腸道通常包括讓一個人坐在他們身邊,真的做TDD一段時間 - 對於一些人來說,這是幾天,幾個星期 - 直到他們有這樣的aha! TDD節省了數小時的調試時間。
如果人們不希望這樣做,你將有一個艱苦的工作,說服他們帶來的好處。如果他們只是不知道它或不可知論者,我建議與他們討論(可能是演示?團隊會議?),然後提供與他們配對以這種方式修復一些錯誤 - 希望他們會學習通過經驗獲益。
在您需要確保開發者獲得如何有效地做測試驅動開發培訓的第一個實例。在掌握xUnit之後,他們應該接受有關如何使用模擬對象的培訓。這是一種更復雜的tdd(從'開發'到'設計'),以及吸引有抱負的開發人員,因爲通過採用這種技術,他們應該能夠產生更好的代碼,並且能夠更好地測試交互。
我提到的上述優點,因爲它是一個辦法,我試圖說服團隊採用TDD。
然而,真正的回答這個問題是建立持續集成,另外還可以選擇拒絕不隨行單元測試:-)
好運代碼
設置你的源代碼管理來拒絕提交是*不是正確的答案。人們對負面刺激反應不佳;通過創建這樣的障礙,你可以將源代碼控制提交變成一個敵對的過程。開發人員將花費大量的努力來顛覆這些流程,在某些情況下,比單純嘗試TDD所需的努力更加費力。充其量,你最好鼓勵編寫差勁的測試,儘可能滿足你的提交需求使用的任何指標。在最壞的情況下,你會讓更多的人相信,TDD是官僚主義者施加的繁重的苦差事,並減少他們做好工作的動力。 – 2010-11-27 19:13:32
該團隊是否已經定期使用單元測試?如果不是,這更像是一場上山之戰。 – Mathias 2010-11-27 05:40:44