軟件測試不是一個功能

fmms 12年前發布 | 6K 次閱讀 軟件測試

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

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

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

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

軟件測試不是一個功能

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

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

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

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

[本文英文原文鏈接:Testing is not a Feature ]

本文轉載自: 外刊IT評論 http://www.aqee.net/

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!