為什麼要做TDD?

2021-08-07 09:03:17 字數 1305 閱讀 3498

tdd(測試驅動開發)在企業裡面是乙個熱點話題,即使tdd這個思想已經出現了20~30年。

至今還有很多的公司和開發者在左右搖擺,到底是否要使用tdd。所以這篇文章筆者就和大家分享一下,為什麼需要做tdd。

首先看看各個公司對tdd的看法:

google

如果在tdd階段發現乙個bug,修復的成本就是5美元,如果在qa測試階段,發現乙個bug並修復的話,成本就是50美元,如果在整合測試中發現乙個bug,修復的成本將是500美元,如果在生產環境,發現乙個bug,則修復的成本將是5000美元,上面的數字只是乙個數字,最關鍵的是看bug越到後面發現,成本將成幾何數的增加。為什麼呢?因為一旦進入產品階段發現,不但需要開發修改,而且還需要qa做回歸測試,更重要的是影響客戶對產品的資訊,從而損害公司的品牌價值。

在來看看世界上赫赫有名的品質大師戴明的看法:

下面是戴明介紹:

戴明博士最早提出了pdca迴圈的概念,所以又稱其為」戴明環」。pdca迴圈是能使任何一項活動有效進行的一種合乎邏輯的工作程式,特別是在質量管理中得到了廣泛的應用。p、d、c、a四個英文本母所代表的意義如下:

p(plan)–計畫。包括方針和目標的確定以及活動計畫的制定;

d(do)–執行。執行就是具體運作,實現計畫中的內容;

c(check)–檢查。就是要總結執行計畫的結果,分清哪些對了,哪些錯了,明確效果,找出問題;

a(action)–行動(或處理)。對總結檢查的結果進行處理,成功的經驗加以肯定,並予以標準化,或制定作業指導書,便於以後工作時遵循;對於失敗的教訓也要總結,以免重現。對於沒有解決的問題,應提給下乙個pdca迴圈中去解決。

連著名的戴明博士都說了,我們要關注長期的成本,而不要被眼前的短期利益所蒙蔽,否則從長遠來看成本是上公升的。這個道理同樣也適用用tdd,雖然tdd短期會需要投入額外的30%~40%的工作量,但是從整個產品的週期來看,其實是大大節省成本的。

既然,國內,國外著名公司已經著名質量大師都發話了,那我們來點實際的資料吧,看看用了

tdd之後,各個公司的bug是不是真的減少了。

從上圖看,雖然使用tdd導致開發者的時間上公升了30%~40%,但是bug數量卻減少到了61%,甚至9%,我們的天哪,微軟對vistual studio的tdd也做的太好了吧,竟然bug數量減少到了9%。

各位看官,還在猶豫嗎? 不要猶豫了,直接把tdd用起來吧。。。。。。。

為什麼要做checkpoint

為什麼要做checkpoint?1.執行出的中間結果往往很重要,所以為了保證資料的安全性,要checkpoint 2.最好把checkpoint到hdfs中,這樣便於該集群所有的節點訪問到 3.在checkpoint之前最好先cache一下,這樣先把資料放到快取中。便於執行任務的呼叫,也便於在che...

為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?

from 本文是從 why why why why why are you a developer?這篇文章翻譯而來。做乙個程式設計師很忙,你需要去寫 去建立meme,去進行測試,以及隨時關注最新最熱的gem 開源軟體技術。最近,我一直在想讓自己的節奏慢下來,去做一些心裡一直想做但沒有去做的事,去思...

為什麼要做介面測試

現在介面測試很多團隊和企業都在要求,其實介面測試一直都存在,為何現在會突然開始要求更高呢?自動化測試分層概念的提出 到目前為止 ui 自動化都很難達到預期的效果,而單元測試成本和難度依舊太高 移動應用興起,出現多種前端的情況,ui 測試成本變高 微服務架構的流行,模組與模組的互動變成了服務與服務之間...