歡迎您光臨本站 註冊首頁

軟體測試不是一個功能

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

 今天在工作中我對一個同事說,PyDev 2.5.0 現在對TDD(測試驅動開發)提供了很酷的支持了。我並不是一個對TDD很痴迷的倡導者,對其它事物也一樣,但仍不免激起了一場討論。這個傢伙,讓我們暫叫他約翰,說:“在開發一個功能時TDD可以節省開發的時間,但有時候一個功能需求,要求的是如此的緊急,我們要儘可能快的交付這個功能,軟體測試放在以後再說。”

諸如這樣的話讓我欲哭無淚。

我極力解釋說,沒有測試,發布的代碼會存在不可想象的風險。就像這個功能非常的重要一樣,你的產品也會因此受到嚴重的破壞。尤其在使用Python語言時,很少有問題會在編譯期顯示出來(一個簡單的書寫錯誤就會導致運行期的一個AttributeError,甚至更遭)。我認為這種風險過高而不可接受。約翰回復說也許你說的是對的,但是否值得冒這樣的風險,這種權利把握在項目經理手裡。如果你使用TDD,實際上你是剝奪了他認為可以“放棄軟體測試以後在說”的權利。“

說實話,對於這樣的邏輯觀念,我不知道如何回答。不錯,老闆有權利決定是否需要測試我的程序,但是…他應該這樣嗎?一個建築工人被告知先把磚塊碼起來,灰泥以後再補,這樣合理嗎?

在我讀過的書本中顯示,這種想法是錯誤的。軟體測試並不是一個功能。它不是一個由客戶提出來的需求。它不是”最好測一下“。

它是一個軟體的任何一段代碼的固有組成。

不錯,你可以開發出不經測試的軟體。它甚至可以運行,就像是摞起來的磚塊看起來也是一堵牆。但如果遇到大一點的風,它有可能就會砸到某人的頭上。

你會對持這樣觀點的人做怎樣的回復?



[火星人 ] 軟體測試不是一個功能已經有400次圍觀

http://coctec.com/docs/program/show-post-71360.html